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-limited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-0302a3f [2019-02-27 12:59:18,586 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-02-27 12:59:18,588 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-02-27 12:59:18,601 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-02-27 12:59:18,601 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-02-27 12:59:18,602 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-02-27 12:59:18,604 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-02-27 12:59:18,606 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-02-27 12:59:18,607 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-02-27 12:59:18,608 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-02-27 12:59:18,609 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-02-27 12:59:18,610 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-02-27 12:59:18,611 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-02-27 12:59:18,612 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-02-27 12:59:18,613 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-02-27 12:59:18,614 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-02-27 12:59:18,615 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-02-27 12:59:18,617 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-02-27 12:59:18,619 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-02-27 12:59:18,621 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-02-27 12:59:18,622 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-02-27 12:59:18,623 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-02-27 12:59:18,626 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-02-27 12:59:18,626 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-02-27 12:59:18,626 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-02-27 12:59:18,627 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-02-27 12:59:18,628 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-02-27 12:59:18,629 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-02-27 12:59:18,630 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-02-27 12:59:18,631 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-02-27 12:59:18,631 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-02-27 12:59:18,632 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-02-27 12:59:18,632 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-02-27 12:59:18,633 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-02-27 12:59:18,634 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-02-27 12:59:18,634 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2019-02-27 12:59:18,635 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 [2019-02-27 12:59:18,654 INFO L110 SettingsManager]: Loading preferences was successful [2019-02-27 12:59:18,655 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2019-02-27 12:59:18,656 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2019-02-27 12:59:18,656 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2019-02-27 12:59:18,657 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2019-02-27 12:59:18,657 INFO L133 SettingsManager]: * User list type=DISABLED [2019-02-27 12:59:18,657 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2019-02-27 12:59:18,657 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2019-02-27 12:59:18,657 INFO L133 SettingsManager]: * Explicit value domain=true [2019-02-27 12:59:18,660 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2019-02-27 12:59:18,661 INFO L133 SettingsManager]: * Octagon Domain=false [2019-02-27 12:59:18,661 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2019-02-27 12:59:18,661 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2019-02-27 12:59:18,661 INFO L133 SettingsManager]: * Interval Domain=false [2019-02-27 12:59:18,662 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-02-27 12:59:18,662 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2019-02-27 12:59:18,662 INFO L133 SettingsManager]: * Use SBE=true [2019-02-27 12:59:18,664 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-02-27 12:59:18,664 INFO L133 SettingsManager]: * sizeof long=4 [2019-02-27 12:59:18,665 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2019-02-27 12:59:18,665 INFO L133 SettingsManager]: * sizeof POINTER=4 [2019-02-27 12:59:18,665 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2019-02-27 12:59:18,665 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-02-27 12:59:18,665 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-02-27 12:59:18,666 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-02-27 12:59:18,666 INFO L133 SettingsManager]: * sizeof long double=12 [2019-02-27 12:59:18,667 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2019-02-27 12:59:18,667 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-02-27 12:59:18,667 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-02-27 12:59:18,667 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-02-27 12:59:18,667 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2019-02-27 12:59:18,668 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-02-27 12:59:18,669 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-02-27 12:59:18,669 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-02-27 12:59:18,669 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-02-27 12:59:18,670 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2019-02-27 12:59:18,670 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2019-02-27 12:59:18,670 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2019-02-27 12:59:18,670 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-02-27 12:59:18,670 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2019-02-27 12:59:18,715 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-02-27 12:59:18,727 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-02-27 12:59:18,730 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-02-27 12:59:18,732 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-02-27 12:59:18,733 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2019-02-27 12:59:18,733 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-limited.bpl [2019-02-27 12:59:18,734 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-limited.bpl' [2019-02-27 12:59:18,777 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-02-27 12:59:18,779 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-02-27 12:59:18,779 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-02-27 12:59:18,780 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-02-27 12:59:18,780 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2019-02-27 12:59:18,796 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:59:18" (1/1) ... [2019-02-27 12:59:18,807 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:59:18" (1/1) ... [2019-02-27 12:59:18,842 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-02-27 12:59:18,843 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-02-27 12:59:18,844 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-02-27 12:59:18,846 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2019-02-27 12:59:18,857 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:59:18" (1/1) ... [2019-02-27 12:59:18,857 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:59:18" (1/1) ... [2019-02-27 12:59:18,859 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:59:18" (1/1) ... [2019-02-27 12:59:18,859 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:59:18" (1/1) ... [2019-02-27 12:59:18,866 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:59:18" (1/1) ... [2019-02-27 12:59:18,871 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:59:18" (1/1) ... [2019-02-27 12:59:18,874 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:59:18" (1/1) ... [2019-02-27 12:59:18,876 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-02-27 12:59:18,878 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-02-27 12:59:18,878 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-02-27 12:59:18,878 INFO L276 PluginConnector]: RCFGBuilder initialized [2019-02-27 12:59:18,886 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:59:18" (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 [2019-02-27 12:59:18,957 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-02-27 12:59:18,958 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-02-27 12:59:19,685 INFO L281 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-02-27 12:59:19,686 INFO L286 CfgBuilder]: Removed 13 assue(true) statements. [2019-02-27 12:59:19,687 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.02 12:59:19 BoogieIcfgContainer [2019-02-27 12:59:19,687 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-02-27 12:59:19,688 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-02-27 12:59:19,689 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-02-27 12:59:19,692 INFO L276 PluginConnector]: TraceAbstraction initialized [2019-02-27 12:59:19,693 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:59:18" (1/2) ... [2019-02-27 12:59:19,694 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2e96d5a9 and model type speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.02 12:59:19, skipping insertion in model container [2019-02-27 12:59:19,694 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.02 12:59:19" (2/2) ... [2019-02-27 12:59:19,696 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-5-limited.bpl [2019-02-27 12:59:19,707 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2019-02-27 12:59:19,715 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 5 error locations. [2019-02-27 12:59:19,731 INFO L257 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2019-02-27 12:59:19,770 INFO L382 AbstractCegarLoop]: Interprodecural is true [2019-02-27 12:59:19,771 INFO L383 AbstractCegarLoop]: Hoare is true [2019-02-27 12:59:19,771 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2019-02-27 12:59:19,771 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-02-27 12:59:19,771 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-02-27 12:59:19,771 INFO L387 AbstractCegarLoop]: Difference is false [2019-02-27 12:59:19,773 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-02-27 12:59:19,773 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-02-27 12:59:19,796 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states. [2019-02-27 12:59:19,810 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2019-02-27 12:59:19,810 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:19,811 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2019-02-27 12:59:19,814 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:19,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:19,821 INFO L82 PathProgramCache]: Analyzing trace with hash 984, now seen corresponding path program 1 times [2019-02-27 12:59:19,823 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:19,863 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:19,864 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:19,864 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:19,864 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:19,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:20,038 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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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 [2019-02-27 12:59:20,051 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 [2019-02-27 12:59:20,054 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:20,055 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-27 12:59:20,056 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-27 12:59:20,056 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 12:59:20,060 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-02-27 12:59:20,061 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:20,064 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-27 12:59:20,075 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 2 edges. 2 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:20,075 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-27 12:59:20,083 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-27 12:59:20,083 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-27 12:59:20,086 INFO L87 Difference]: Start difference. First operand 13 states. Second operand 3 states. [2019-02-27 12:59:20,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:20,616 INFO L93 Difference]: Finished difference Result 25 states and 33 transitions. [2019-02-27 12:59:20,616 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-27 12:59:20,616 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-02-27 12:59:20,616 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:20,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 12:59:20,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2019-02-27 12:59:20,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 12:59:20,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2019-02-27 12:59:20,628 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 33 transitions. [2019-02-27 12:59:20,807 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:20,818 INFO L225 Difference]: With dead ends: 25 [2019-02-27 12:59:20,819 INFO L226 Difference]: Without dead ends: 20 [2019-02-27 12:59:20,822 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 [2019-02-27 12:59:20,837 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2019-02-27 12:59:20,858 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 12. [2019-02-27 12:59:20,859 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:20,859 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 12 states. [2019-02-27 12:59:20,860 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 12 states. [2019-02-27 12:59:20,860 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 12 states. [2019-02-27 12:59:20,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:20,865 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2019-02-27 12:59:20,865 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2019-02-27 12:59:20,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:20,866 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:20,866 INFO L74 IsIncluded]: Start isIncluded. First operand 12 states. Second operand 20 states. [2019-02-27 12:59:20,866 INFO L87 Difference]: Start difference. First operand 12 states. Second operand 20 states. [2019-02-27 12:59:20,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:20,870 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2019-02-27 12:59:20,871 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2019-02-27 12:59:20,871 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:20,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:20,872 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:20,872 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:20,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 12:59:20,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 21 transitions. [2019-02-27 12:59:20,876 INFO L78 Accepts]: Start accepts. Automaton has 12 states and 21 transitions. Word has length 2 [2019-02-27 12:59:20,877 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:20,877 INFO L480 AbstractCegarLoop]: Abstraction has 12 states and 21 transitions. [2019-02-27 12:59:20,877 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-27 12:59:20,877 INFO L276 IsEmpty]: Start isEmpty. Operand 12 states and 21 transitions. [2019-02-27 12:59:20,878 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-27 12:59:20,878 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:20,878 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-27 12:59:20,879 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:20,879 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:20,879 INFO L82 PathProgramCache]: Analyzing trace with hash 30372, now seen corresponding path program 1 times [2019-02-27 12:59:20,879 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:20,880 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:20,880 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:20,881 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:20,881 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:20,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:21,119 WARN L181 SmtUtils]: Spent 153.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 13 [2019-02-27 12:59:21,323 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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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 [2019-02-27 12:59:21,325 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 [2019-02-27 12:59:21,326 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 [2019-02-27 12:59:21,327 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:21,327 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:21,327 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:21,328 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-27 12:59:21,329 INFO L207 CegarAbsIntRunner]: [0], [18], [23] [2019-02-27 12:59:21,365 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:59:21,365 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:59:21,512 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:59:21,514 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 12:59:21,522 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:21,524 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:59:21,524 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:21,524 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 [2019-02-27 12:59:21,543 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:21,543 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:21,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:21,575 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 12:59:21,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:21,599 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:21,936 INFO L467 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 [2019-02-27 12:59:21,997 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:22,000 INFO L467 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 [2019-02-27 12:59:22,031 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:22,033 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:22,036 INFO L467 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 [2019-02-27 12:59:22,096 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:22,098 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:22,101 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:22,103 INFO L467 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 [2019-02-27 12:59:22,291 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:22,293 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:22,296 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:22,298 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:22,300 INFO L467 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 [2019-02-27 12:59:22,306 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:22,492 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:22,549 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:22,640 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:22,680 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:22,783 INFO L301 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. [2019-02-27 12:59:22,784 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-27 12:59:22,800 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:22,801 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#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)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:22,801 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 12:59:23,311 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:23,313 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:23,313 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:23,317 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:23,318 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:23,319 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:23,322 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:23,323 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:23,324 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:23,349 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:23,363 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:23,365 INFO L467 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 [2019-02-27 12:59:23,387 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:23,438 INFO L301 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. [2019-02-27 12:59:23,439 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:25,489 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:25,489 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_28|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (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|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_28| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 0))) [2019-02-27 12:59:25,490 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:25,559 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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 12:59:25,565 INFO L273 TraceCheckUtils]: 1: Hoare triple {109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {113#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-27 12:59:25,566 INFO L273 TraceCheckUtils]: 2: Hoare triple {113#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2019-02-27 12:59:25,567 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:25,567 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:25,642 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 [2019-02-27 12:59:25,644 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 [2019-02-27 12:59:25,646 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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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 [2019-02-27 12:59:25,646 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:25,667 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:59:25,668 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-27 12:59:25,668 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:59:25,669 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-27 12:59:25,669 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:25,669 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-27 12:59:25,701 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:25,702 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-27 12:59:25,702 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-27 12:59:25,702 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 12:59:25,703 INFO L87 Difference]: Start difference. First operand 12 states and 21 transitions. Second operand 6 states. [2019-02-27 12:59:25,990 WARN L181 SmtUtils]: Spent 161.00 ms on a formula simplification. DAG size of input: 33 DAG size of output: 31 [2019-02-27 12:59:26,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:26,631 INFO L93 Difference]: Finished difference Result 39 states and 56 transitions. [2019-02-27 12:59:26,631 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-27 12:59:26,631 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-27 12:59:26,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:26,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 12:59:26,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2019-02-27 12:59:26,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 12:59:26,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2019-02-27 12:59:26,640 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2019-02-27 12:59:26,799 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:26,802 INFO L225 Difference]: With dead ends: 39 [2019-02-27 12:59:26,802 INFO L226 Difference]: Without dead ends: 37 [2019-02-27 12:59:26,803 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-27 12:59:26,803 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2019-02-27 12:59:26,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 16. [2019-02-27 12:59:26,821 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:26,822 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 16 states. [2019-02-27 12:59:26,822 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 16 states. [2019-02-27 12:59:26,822 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 16 states. [2019-02-27 12:59:26,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:26,827 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2019-02-27 12:59:26,827 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2019-02-27 12:59:26,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:26,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:26,828 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 37 states. [2019-02-27 12:59:26,828 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 37 states. [2019-02-27 12:59:26,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:26,832 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2019-02-27 12:59:26,832 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2019-02-27 12:59:26,833 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:26,833 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:26,833 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:26,833 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:26,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2019-02-27 12:59:26,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 32 transitions. [2019-02-27 12:59:26,835 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 32 transitions. Word has length 3 [2019-02-27 12:59:26,835 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:26,835 INFO L480 AbstractCegarLoop]: Abstraction has 16 states and 32 transitions. [2019-02-27 12:59:26,836 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-27 12:59:26,836 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 32 transitions. [2019-02-27 12:59:26,836 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-27 12:59:26,836 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:26,836 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-27 12:59:26,837 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:26,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:26,837 INFO L82 PathProgramCache]: Analyzing trace with hash 30434, now seen corresponding path program 1 times [2019-02-27 12:59:26,837 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:26,838 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:26,839 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:26,839 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:26,839 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:26,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:26,952 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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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 (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 [2019-02-27 12:59:26,957 INFO L273 TraceCheckUtils]: 1: Hoare triple {264#(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]; {265#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 12:59:26,963 INFO L273 TraceCheckUtils]: 2: Hoare triple {265#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2019-02-27 12:59:26,963 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:26,963 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:26,964 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:26,964 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-27 12:59:26,964 INFO L207 CegarAbsIntRunner]: [0], [20], [23] [2019-02-27 12:59:26,965 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:59:26,965 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:59:26,987 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:59:26,987 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 12:59:26,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:26,988 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:59:26,988 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:26,989 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 [2019-02-27 12:59:27,000 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:27,001 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:27,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:27,007 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 12:59:27,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:27,013 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:27,064 INFO L467 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 [2019-02-27 12:59:27,080 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,083 INFO L467 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 [2019-02-27 12:59:27,099 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,100 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,102 INFO L467 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 [2019-02-27 12:59:27,143 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,144 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,146 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,148 INFO L467 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 [2019-02-27 12:59:27,170 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,171 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,179 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,180 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,183 INFO L467 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 [2019-02-27 12:59:27,188 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:27,222 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:27,240 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:27,253 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:27,267 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:27,293 INFO L301 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. [2019-02-27 12:59:27,294 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-27 12:59:27,306 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:27,306 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_30|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:27,306 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:27,381 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,382 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,383 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,386 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,387 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,388 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,423 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,434 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,436 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,439 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,440 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:27,442 INFO L467 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 [2019-02-27 12:59:27,450 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:27,518 INFO L301 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. [2019-02-27 12:59:27,519 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:28,068 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:28,068 WARN L398 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)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_31| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (store |v_#memory_int_31| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_31| ULTIMATE.start_main_p1) 0))) [2019-02-27 12:59:28,069 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:28,127 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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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 (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-27 12:59:28,131 INFO L273 TraceCheckUtils]: 1: Hoare triple {269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-27 12:59:28,132 INFO L273 TraceCheckUtils]: 2: Hoare triple {273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2019-02-27 12:59:28,132 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:28,132 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:28,155 INFO L273 TraceCheckUtils]: 2: Hoare triple {277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2019-02-27 12:59:28,156 INFO L273 TraceCheckUtils]: 1: Hoare triple {281#(<= 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]; {277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:28,175 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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:28,175 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:28,194 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-27 12:59:28,194 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2019-02-27 12:59:28,194 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 12:59:28,194 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-02-27 12:59:28,195 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:28,195 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-27 12:59:28,204 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:28,204 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-27 12:59:28,204 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-27 12:59:28,204 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-27 12:59:28,205 INFO L87 Difference]: Start difference. First operand 16 states and 32 transitions. Second operand 4 states. [2019-02-27 12:59:28,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:28,323 INFO L93 Difference]: Finished difference Result 18 states and 39 transitions. [2019-02-27 12:59:28,323 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-27 12:59:28,324 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-02-27 12:59:28,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:28,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 12:59:28,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2019-02-27 12:59:28,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 12:59:28,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2019-02-27 12:59:28,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 22 transitions. [2019-02-27 12:59:28,377 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:28,379 INFO L225 Difference]: With dead ends: 18 [2019-02-27 12:59:28,379 INFO L226 Difference]: Without dead ends: 17 [2019-02-27 12:59:28,380 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-27 12:59:28,380 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17 states. [2019-02-27 12:59:28,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17 to 17. [2019-02-27 12:59:28,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:28,424 INFO L82 GeneralOperation]: Start isEquivalent. First operand 17 states. Second operand 17 states. [2019-02-27 12:59:28,425 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2019-02-27 12:59:28,425 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2019-02-27 12:59:28,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:28,427 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2019-02-27 12:59:28,427 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2019-02-27 12:59:28,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:28,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:28,428 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2019-02-27 12:59:28,428 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2019-02-27 12:59:28,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:28,430 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2019-02-27 12:59:28,430 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2019-02-27 12:59:28,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:28,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:28,435 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:28,435 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:28,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2019-02-27 12:59:28,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 38 transitions. [2019-02-27 12:59:28,437 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 38 transitions. Word has length 3 [2019-02-27 12:59:28,438 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:28,438 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 38 transitions. [2019-02-27 12:59:28,438 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-27 12:59:28,438 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2019-02-27 12:59:28,438 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-27 12:59:28,439 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:28,439 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-27 12:59:28,439 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:28,439 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:28,440 INFO L82 PathProgramCache]: Analyzing trace with hash 30560, now seen corresponding path program 1 times [2019-02-27 12:59:28,440 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:28,441 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:28,441 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:28,441 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:28,441 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:28,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:28,530 INFO L273 TraceCheckUtils]: 0: Hoare triple {361#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:28,530 INFO L273 TraceCheckUtils]: 1: Hoare triple {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:28,533 INFO L273 TraceCheckUtils]: 2: Hoare triple {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {362#false} is VALID [2019-02-27 12:59:28,533 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:28,533 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-27 12:59:28,533 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-27 12:59:28,533 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 12:59:28,534 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-27 12:59:28,534 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:28,534 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-27 12:59:28,537 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:28,538 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-27 12:59:28,538 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-27 12:59:28,538 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-27 12:59:28,538 INFO L87 Difference]: Start difference. First operand 17 states and 38 transitions. Second operand 3 states. [2019-02-27 12:59:28,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:28,674 INFO L93 Difference]: Finished difference Result 21 states and 39 transitions. [2019-02-27 12:59:28,674 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-27 12:59:28,674 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-27 12:59:28,674 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:28,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 12:59:28,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2019-02-27 12:59:28,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 12:59:28,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2019-02-27 12:59:28,677 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 27 transitions. [2019-02-27 12:59:28,713 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:28,714 INFO L225 Difference]: With dead ends: 21 [2019-02-27 12:59:28,715 INFO L226 Difference]: Without dead ends: 20 [2019-02-27 12:59:28,715 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 [2019-02-27 12:59:28,716 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2019-02-27 12:59:28,732 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 17. [2019-02-27 12:59:28,733 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:28,733 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 17 states. [2019-02-27 12:59:28,733 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 17 states. [2019-02-27 12:59:28,733 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 17 states. [2019-02-27 12:59:28,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:28,736 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2019-02-27 12:59:28,736 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2019-02-27 12:59:28,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:28,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:28,736 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 20 states. [2019-02-27 12:59:28,737 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 20 states. [2019-02-27 12:59:28,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:28,738 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2019-02-27 12:59:28,739 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2019-02-27 12:59:28,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:28,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:28,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:28,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:28,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2019-02-27 12:59:28,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 37 transitions. [2019-02-27 12:59:28,741 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 37 transitions. Word has length 3 [2019-02-27 12:59:28,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:28,741 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 37 transitions. [2019-02-27 12:59:28,741 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-27 12:59:28,741 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 37 transitions. [2019-02-27 12:59:28,742 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-27 12:59:28,742 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:28,742 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-27 12:59:28,742 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:28,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:28,743 INFO L82 PathProgramCache]: Analyzing trace with hash 30124, now seen corresponding path program 1 times [2019-02-27 12:59:28,743 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:28,743 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:28,744 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:28,744 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:28,744 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:28,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:28,858 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {454#(and (not (= ULTIMATE.start_main_p2 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 [2019-02-27 12:59:28,859 INFO L273 TraceCheckUtils]: 1: Hoare triple {454#(and (not (= ULTIMATE.start_main_p2 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]; {455#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 12:59:28,860 INFO L273 TraceCheckUtils]: 2: Hoare triple {455#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2019-02-27 12:59:28,861 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:28,861 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:28,861 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:28,861 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-27 12:59:28,861 INFO L207 CegarAbsIntRunner]: [0], [10], [23] [2019-02-27 12:59:28,865 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:59:28,865 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:59:28,879 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:59:28,880 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 12:59:28,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:28,880 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:59:28,880 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:28,880 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 [2019-02-27 12:59:28,891 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:28,892 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:28,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:28,897 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 12:59:28,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:28,901 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:28,941 INFO L467 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 [2019-02-27 12:59:28,958 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:28,959 INFO L467 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 [2019-02-27 12:59:28,978 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:28,981 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:28,983 INFO L467 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 [2019-02-27 12:59:29,004 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,005 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,006 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,008 INFO L467 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 [2019-02-27 12:59:29,043 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,044 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,045 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,046 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,048 INFO L467 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 [2019-02-27 12:59:29,052 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:29,097 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:29,126 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:29,143 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:29,156 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:29,191 INFO L301 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. [2019-02-27 12:59:29,191 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-27 12:59:29,211 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:29,211 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:29,212 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:29,382 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,384 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,386 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,390 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,392 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,394 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,396 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,399 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,401 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,403 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,405 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:29,407 INFO L467 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 [2019-02-27 12:59:29,413 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:29,471 INFO L301 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. [2019-02-27 12:59:29,472 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:31,482 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:31,482 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_34|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (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)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_34| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= (select |v_#memory_int_34| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_34| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_34| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 12:59:31,482 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:31,539 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {459#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 12:59:31,543 INFO L273 TraceCheckUtils]: 1: Hoare triple {459#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {463#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 12:59:31,544 INFO L273 TraceCheckUtils]: 2: Hoare triple {463#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2019-02-27 12:59:31,544 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:31,545 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:31,574 INFO L273 TraceCheckUtils]: 2: Hoare triple {467#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2019-02-27 12:59:31,575 INFO L273 TraceCheckUtils]: 1: Hoare triple {471#(<= 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]; {467#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:31,578 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {471#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:31,578 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:31,599 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:59:31,599 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-27 12:59:31,599 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:59:31,600 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-27 12:59:31,600 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:31,600 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-27 12:59:31,610 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:31,611 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-27 12:59:31,611 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-27 12:59:31,611 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 12:59:31,611 INFO L87 Difference]: Start difference. First operand 17 states and 37 transitions. Second operand 6 states. [2019-02-27 12:59:32,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:32,303 INFO L93 Difference]: Finished difference Result 39 states and 66 transitions. [2019-02-27 12:59:32,303 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-27 12:59:32,303 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-27 12:59:32,303 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:32,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 12:59:32,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2019-02-27 12:59:32,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 12:59:32,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2019-02-27 12:59:32,306 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 54 transitions. [2019-02-27 12:59:32,522 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:32,523 INFO L225 Difference]: With dead ends: 39 [2019-02-27 12:59:32,524 INFO L226 Difference]: Without dead ends: 38 [2019-02-27 12:59:32,524 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-27 12:59:32,524 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2019-02-27 12:59:32,569 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 18. [2019-02-27 12:59:32,569 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:32,569 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 18 states. [2019-02-27 12:59:32,569 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 18 states. [2019-02-27 12:59:32,570 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 18 states. [2019-02-27 12:59:32,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:32,571 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2019-02-27 12:59:32,572 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2019-02-27 12:59:32,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:32,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:32,572 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 38 states. [2019-02-27 12:59:32,572 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 38 states. [2019-02-27 12:59:32,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:32,575 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2019-02-27 12:59:32,575 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2019-02-27 12:59:32,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:32,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:32,576 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:32,576 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:32,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2019-02-27 12:59:32,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 43 transitions. [2019-02-27 12:59:32,577 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 43 transitions. Word has length 3 [2019-02-27 12:59:32,578 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:32,578 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 43 transitions. [2019-02-27 12:59:32,578 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-27 12:59:32,578 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 43 transitions. [2019-02-27 12:59:32,578 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 12:59:32,578 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:32,579 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 12:59:32,579 INFO L423 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:32,579 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:32,579 INFO L82 PathProgramCache]: Analyzing trace with hash 941462, now seen corresponding path program 1 times [2019-02-27 12:59:32,579 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:32,580 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:32,580 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:32,581 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:32,581 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:32,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:32,768 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {622#(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 [2019-02-27 12:59:32,769 INFO L273 TraceCheckUtils]: 1: Hoare triple {622#(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]; {623#(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 [2019-02-27 12:59:32,771 INFO L273 TraceCheckUtils]: 2: Hoare triple {623#(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]; {624#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 12:59:32,771 INFO L273 TraceCheckUtils]: 3: Hoare triple {624#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2019-02-27 12:59:32,772 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:32,772 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:32,772 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:32,773 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 12:59:32,773 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [23] [2019-02-27 12:59:32,774 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:59:32,775 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:59:32,791 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:59:32,792 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 12:59:32,792 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:32,792 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:59:32,792 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:32,793 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 [2019-02-27 12:59:32,801 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:32,801 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:32,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:32,823 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 12:59:32,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:32,827 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:32,965 INFO L467 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 [2019-02-27 12:59:32,972 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:32,973 INFO L467 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 [2019-02-27 12:59:32,983 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:32,984 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:32,985 INFO L467 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 [2019-02-27 12:59:33,059 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,060 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,062 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,064 INFO L467 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 [2019-02-27 12:59:33,090 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,091 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,092 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,093 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,095 INFO L467 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 [2019-02-27 12:59:33,098 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:33,126 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:33,142 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:33,155 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:33,167 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:33,202 INFO L301 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. [2019-02-27 12:59:33,203 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 12:59:33,212 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:33,212 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:33,212 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 12:59:33,271 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,272 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,274 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,275 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,276 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,283 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,284 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,285 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,286 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,288 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,289 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:33,291 INFO L467 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 [2019-02-27 12:59:33,295 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:33,343 INFO L301 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. [2019-02-27 12:59:33,344 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:34,195 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:34,196 WARN L398 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 (< 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)) (= 0 .cse0) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_37| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_37| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 12:59:34,196 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:34,507 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,509 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,512 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,514 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,516 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,521 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,523 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,526 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,529 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,531 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,533 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,537 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:34,538 INFO L467 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 68 [2019-02-27 12:59:34,547 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:34,602 INFO L301 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. [2019-02-27 12:59:34,603 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 12:59:34,659 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:34,659 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_38| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_38| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (= (select |v_#memory_int_38| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_38| ULTIMATE.start_main_p5 (+ .cse0 1))))) [2019-02-27 12:59:34,660 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:34,705 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {628#(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 (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 12:59:34,708 INFO L273 TraceCheckUtils]: 1: Hoare triple {628#(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 (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {632#(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 (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 12:59:34,712 INFO L273 TraceCheckUtils]: 2: Hoare triple {632#(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 (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {636#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-27 12:59:34,713 INFO L273 TraceCheckUtils]: 3: Hoare triple {636#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2019-02-27 12:59:34,713 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:34,714 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:34,755 INFO L273 TraceCheckUtils]: 3: Hoare triple {640#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2019-02-27 12:59:34,756 INFO L273 TraceCheckUtils]: 2: Hoare triple {644#(<= 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]; {640#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:34,757 INFO L273 TraceCheckUtils]: 1: Hoare triple {648#(<= 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]; {644#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:34,759 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {648#(<= 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 [2019-02-27 12:59:34,759 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:34,778 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:59:34,778 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 12:59:34,778 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:59:34,779 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 12:59:34,779 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:34,779 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 12:59:34,794 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:34,795 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 12:59:34,795 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 12:59:34,795 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 12:59:34,795 INFO L87 Difference]: Start difference. First operand 18 states and 43 transitions. Second operand 8 states. [2019-02-27 12:59:35,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:35,975 INFO L93 Difference]: Finished difference Result 49 states and 91 transitions. [2019-02-27 12:59:35,975 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 12:59:35,975 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 12:59:35,976 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:35,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:59:35,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2019-02-27 12:59:35,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:59:35,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2019-02-27 12:59:35,978 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 67 transitions. [2019-02-27 12:59:36,140 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:36,142 INFO L225 Difference]: With dead ends: 49 [2019-02-27 12:59:36,142 INFO L226 Difference]: Without dead ends: 44 [2019-02-27 12:59:36,143 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 [2019-02-27 12:59:36,143 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-02-27 12:59:36,193 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 22. [2019-02-27 12:59:36,194 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:36,194 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 22 states. [2019-02-27 12:59:36,194 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 22 states. [2019-02-27 12:59:36,194 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 22 states. [2019-02-27 12:59:36,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:36,197 INFO L93 Difference]: Finished difference Result 44 states and 84 transitions. [2019-02-27 12:59:36,197 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 84 transitions. [2019-02-27 12:59:36,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:36,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:36,198 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 44 states. [2019-02-27 12:59:36,198 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 44 states. [2019-02-27 12:59:36,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:36,201 INFO L93 Difference]: Finished difference Result 44 states and 84 transitions. [2019-02-27 12:59:36,201 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 84 transitions. [2019-02-27 12:59:36,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:36,202 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:36,202 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:36,202 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:36,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2019-02-27 12:59:36,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 58 transitions. [2019-02-27 12:59:36,204 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 58 transitions. Word has length 4 [2019-02-27 12:59:36,204 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:36,204 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 58 transitions. [2019-02-27 12:59:36,204 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 12:59:36,204 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 58 transitions. [2019-02-27 12:59:36,204 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 12:59:36,204 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:36,205 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 12:59:36,205 INFO L423 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:36,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:36,205 INFO L82 PathProgramCache]: Analyzing trace with hash 941028, now seen corresponding path program 1 times [2019-02-27 12:59:36,205 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:36,206 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:36,206 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:36,207 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:36,207 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:36,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:36,320 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {832#(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 [2019-02-27 12:59:36,321 INFO L273 TraceCheckUtils]: 1: Hoare triple {832#(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]; {833#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 12:59:36,322 INFO L273 TraceCheckUtils]: 2: Hoare triple {833#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:36,322 INFO L273 TraceCheckUtils]: 3: Hoare triple {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2019-02-27 12:59:36,323 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:36,323 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:36,323 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:36,323 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 12:59:36,323 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [23] [2019-02-27 12:59:36,324 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:59:36,324 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:59:36,341 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:59:36,341 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 12:59:36,341 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:36,342 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:59:36,342 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:36,342 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 [2019-02-27 12:59:36,352 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:36,352 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:36,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:36,358 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 12:59:36,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:36,362 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:36,381 INFO L467 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 [2019-02-27 12:59:36,386 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,388 INFO L467 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 [2019-02-27 12:59:36,406 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,407 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,408 INFO L467 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 [2019-02-27 12:59:36,428 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,429 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,430 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,431 INFO L467 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 [2019-02-27 12:59:36,456 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,457 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,458 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,459 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,461 INFO L467 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 [2019-02-27 12:59:36,463 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:36,496 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:36,512 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:36,599 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:36,610 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:36,632 INFO L301 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. [2019-02-27 12:59:36,633 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-27 12:59:36,642 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:36,643 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:36,643 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 12:59:36,706 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,707 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,708 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,709 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,710 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,712 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,715 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,715 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,716 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,717 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,718 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:36,720 INFO L467 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 [2019-02-27 12:59:36,724 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:36,771 INFO L301 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. [2019-02-27 12:59:36,772 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:38,864 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:38,865 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_42| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_42| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_42| ULTIMATE.start_main_p5) 0))) [2019-02-27 12:59:38,865 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:39,128 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,129 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,130 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,131 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,133 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,134 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,135 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,137 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,138 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,140 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,141 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,142 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:39,144 INFO L467 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 68 [2019-02-27 12:59:39,148 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:39,208 INFO L301 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. [2019-02-27 12:59:39,209 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 12:59:39,232 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:39,232 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_43|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_43| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_43| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_43| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_43| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_43| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_43| ULTIMATE.start_main_p5) 0))) [2019-02-27 12:59:39,232 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:39,260 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {838#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 12:59:39,265 INFO L273 TraceCheckUtils]: 1: Hoare triple {838#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {842#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-27 12:59:39,274 INFO L273 TraceCheckUtils]: 2: Hoare triple {842#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {846#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 12:59:39,275 INFO L273 TraceCheckUtils]: 3: Hoare triple {846#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2019-02-27 12:59:39,276 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:39,276 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:39,316 INFO L273 TraceCheckUtils]: 3: Hoare triple {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2019-02-27 12:59:39,318 INFO L273 TraceCheckUtils]: 2: Hoare triple {853#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:39,318 INFO L273 TraceCheckUtils]: 1: Hoare triple {857#(<= 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]; {853#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 12:59:39,320 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {857#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 12:59:39,321 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:39,341 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:59:39,341 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-27 12:59:39,341 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:59:39,342 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 12:59:39,342 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:39,342 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 12:59:39,371 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:39,371 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 12:59:39,371 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 12:59:39,371 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-27 12:59:39,372 INFO L87 Difference]: Start difference. First operand 22 states and 58 transitions. Second operand 8 states. [2019-02-27 12:59:40,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:40,524 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2019-02-27 12:59:40,524 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 12:59:40,524 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 12:59:40,524 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:40,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:59:40,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-27 12:59:40,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:59:40,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-27 12:59:40,527 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2019-02-27 12:59:40,790 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:40,792 INFO L225 Difference]: With dead ends: 47 [2019-02-27 12:59:40,792 INFO L226 Difference]: Without dead ends: 46 [2019-02-27 12:59:40,792 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 [2019-02-27 12:59:40,793 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-02-27 12:59:40,988 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 24. [2019-02-27 12:59:40,988 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:40,989 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 24 states. [2019-02-27 12:59:40,989 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 24 states. [2019-02-27 12:59:40,989 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 24 states. [2019-02-27 12:59:40,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:40,991 INFO L93 Difference]: Finished difference Result 46 states and 96 transitions. [2019-02-27 12:59:40,991 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 96 transitions. [2019-02-27 12:59:40,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:40,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:40,992 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 46 states. [2019-02-27 12:59:40,992 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 46 states. [2019-02-27 12:59:40,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:40,995 INFO L93 Difference]: Finished difference Result 46 states and 96 transitions. [2019-02-27 12:59:40,995 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 96 transitions. [2019-02-27 12:59:40,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:40,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:40,996 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:40,996 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:40,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2019-02-27 12:59:40,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 70 transitions. [2019-02-27 12:59:40,997 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 70 transitions. Word has length 4 [2019-02-27 12:59:40,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:40,998 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 70 transitions. [2019-02-27 12:59:40,998 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 12:59:40,998 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 70 transitions. [2019-02-27 12:59:40,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 12:59:40,998 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:40,999 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 12:59:40,999 INFO L423 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:40,999 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:40,999 INFO L82 PathProgramCache]: Analyzing trace with hash 941588, now seen corresponding path program 1 times [2019-02-27 12:59:40,999 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:41,000 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:41,000 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:41,001 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:41,001 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:41,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:41,098 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1047#(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 [2019-02-27 12:59:41,100 INFO L273 TraceCheckUtils]: 1: Hoare triple {1047#(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]; {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:41,101 INFO L273 TraceCheckUtils]: 2: Hoare triple {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:41,101 INFO L273 TraceCheckUtils]: 3: Hoare triple {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2019-02-27 12:59:41,102 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:41,102 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:41,102 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:41,102 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 12:59:41,103 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [25] [2019-02-27 12:59:41,104 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:59:41,104 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:59:41,127 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:59:41,128 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 12:59:41,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:41,128 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:59:41,128 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:41,128 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 [2019-02-27 12:59:41,137 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:41,138 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:41,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:41,148 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 6 conjunts are in the unsatisfiable core [2019-02-27 12:59:41,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:41,151 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:41,173 INFO L467 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 [2019-02-27 12:59:41,197 INFO L467 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 [2019-02-27 12:59:41,205 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,207 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 12:59:41,236 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,238 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,239 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 12:59:41,259 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,267 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,269 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,270 INFO L467 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 [2019-02-27 12:59:41,272 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,294 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,307 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,318 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,328 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,348 INFO L301 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. [2019-02-27 12:59:41,349 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-27 12:59:41,359 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:41,360 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_46| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:41,360 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 12:59:41,426 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,427 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,429 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,430 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,431 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,432 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,434 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,435 INFO L467 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 [2019-02-27 12:59:41,439 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,468 INFO L301 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. [2019-02-27 12:59:41,468 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-27 12:59:42,315 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:42,316 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_47| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_47| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_47| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_47| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_47| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 12:59:42,316 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:42,361 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1052#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 12:59:42,364 INFO L273 TraceCheckUtils]: 1: Hoare triple {1052#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 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]; {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 12:59:42,366 INFO L273 TraceCheckUtils]: 2: Hoare triple {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 12:59:42,369 INFO L273 TraceCheckUtils]: 3: Hoare triple {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2019-02-27 12:59:42,370 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:42,370 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:42,391 INFO L273 TraceCheckUtils]: 3: Hoare triple {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2019-02-27 12:59:42,392 INFO L273 TraceCheckUtils]: 2: Hoare triple {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:42,393 INFO L273 TraceCheckUtils]: 1: Hoare triple {1070#(<= (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]; {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:42,396 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1070#(<= (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:42,396 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:42,417 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-27 12:59:42,417 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2019-02-27 12:59:42,418 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 12:59:42,418 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-02-27 12:59:42,418 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:42,418 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-27 12:59:42,428 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:42,428 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-27 12:59:42,428 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-27 12:59:42,428 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-27 12:59:42,428 INFO L87 Difference]: Start difference. First operand 24 states and 70 transitions. Second operand 4 states. [2019-02-27 12:59:42,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:42,780 INFO L93 Difference]: Finished difference Result 28 states and 79 transitions. [2019-02-27 12:59:42,781 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-27 12:59:42,781 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-02-27 12:59:42,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:42,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 12:59:42,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2019-02-27 12:59:42,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 12:59:42,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2019-02-27 12:59:42,783 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 24 transitions. [2019-02-27 12:59:42,805 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:42,806 INFO L225 Difference]: With dead ends: 28 [2019-02-27 12:59:42,806 INFO L226 Difference]: Without dead ends: 27 [2019-02-27 12:59:42,807 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 [2019-02-27 12:59:42,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2019-02-27 12:59:42,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2019-02-27 12:59:42,884 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:42,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 26 states. [2019-02-27 12:59:42,885 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 26 states. [2019-02-27 12:59:42,885 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 26 states. [2019-02-27 12:59:42,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:42,888 INFO L93 Difference]: Finished difference Result 27 states and 77 transitions. [2019-02-27 12:59:42,888 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 77 transitions. [2019-02-27 12:59:42,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:42,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:42,889 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 27 states. [2019-02-27 12:59:42,890 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 27 states. [2019-02-27 12:59:42,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:42,891 INFO L93 Difference]: Finished difference Result 27 states and 77 transitions. [2019-02-27 12:59:42,892 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 77 transitions. [2019-02-27 12:59:42,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:42,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:42,892 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:42,892 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:42,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-02-27 12:59:42,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 77 transitions. [2019-02-27 12:59:42,894 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 77 transitions. Word has length 4 [2019-02-27 12:59:42,894 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:42,894 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 77 transitions. [2019-02-27 12:59:42,895 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-27 12:59:42,895 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 77 transitions. [2019-02-27 12:59:42,895 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 12:59:42,895 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:42,895 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 12:59:42,895 INFO L423 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:42,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:42,896 INFO L82 PathProgramCache]: Analyzing trace with hash 941152, now seen corresponding path program 1 times [2019-02-27 12:59:42,896 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:42,897 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:42,897 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:42,897 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:42,897 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:42,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:43,040 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1203#(and (not (= ULTIMATE.start_main_p2 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 [2019-02-27 12:59:43,041 INFO L273 TraceCheckUtils]: 1: Hoare triple {1203#(and (not (= ULTIMATE.start_main_p2 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]; {1204#(and (not (= ULTIMATE.start_main_p2 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 [2019-02-27 12:59:43,042 INFO L273 TraceCheckUtils]: 2: Hoare triple {1204#(and (not (= ULTIMATE.start_main_p2 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]; {1205#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 12:59:43,043 INFO L273 TraceCheckUtils]: 3: Hoare triple {1205#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2019-02-27 12:59:43,044 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:43,044 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:43,044 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:43,044 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 12:59:43,045 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [23] [2019-02-27 12:59:43,046 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:59:43,046 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:59:43,085 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:59:43,085 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 12:59:43,086 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:43,086 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:59:43,086 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:43,086 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 [2019-02-27 12:59:43,095 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:43,095 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:43,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:43,106 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 12:59:43,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:43,111 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:43,148 INFO L467 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 [2019-02-27 12:59:43,159 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,160 INFO L467 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 [2019-02-27 12:59:43,171 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,173 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,174 INFO L467 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 [2019-02-27 12:59:43,198 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,199 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,201 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,202 INFO L467 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 [2019-02-27 12:59:43,221 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,223 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,224 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,226 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,227 INFO L467 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 [2019-02-27 12:59:43,234 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:43,270 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:43,285 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:43,300 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:43,309 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:43,330 INFO L301 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. [2019-02-27 12:59:43,330 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 12:59:43,343 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:43,343 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:43,343 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 12:59:43,408 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,409 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,410 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,411 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,412 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,414 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,415 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,416 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,418 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,419 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,421 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,422 INFO L467 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 [2019-02-27 12:59:43,425 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:43,482 INFO L301 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. [2019-02-27 12:59:43,482 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:45,491 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:45,491 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_50| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_50| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 12:59:45,492 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:45,623 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:45,624 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:45,625 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:45,626 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:45,628 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:45,629 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:45,630 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:45,632 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:45,633 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:45,634 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:45,635 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 12:59:45,637 INFO L467 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 68 [2019-02-27 12:59:45,671 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:45,805 INFO L301 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. [2019-02-27 12:59:45,805 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 12:59:45,855 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:45,856 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_51| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_51| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_51| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_51| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_51| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_51| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 12:59:45,856 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:45,917 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1209#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 12:59:45,919 INFO L273 TraceCheckUtils]: 1: Hoare triple {1209#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 12:59:45,928 INFO L273 TraceCheckUtils]: 2: Hoare triple {1213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 12:59:45,929 INFO L273 TraceCheckUtils]: 3: Hoare triple {1217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2019-02-27 12:59:45,930 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:45,930 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:45,970 INFO L273 TraceCheckUtils]: 3: Hoare triple {1221#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2019-02-27 12:59:45,971 INFO L273 TraceCheckUtils]: 2: Hoare triple {1225#(<= 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]; {1221#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:45,973 INFO L273 TraceCheckUtils]: 1: Hoare triple {1229#(<= 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]; {1225#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:45,975 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1229#(<= 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 [2019-02-27 12:59:45,976 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:45,997 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:59:45,997 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 12:59:45,997 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:59:45,997 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 12:59:45,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:45,997 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 12:59:46,018 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:46,018 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 12:59:46,018 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 12:59:46,019 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-02-27 12:59:46,019 INFO L87 Difference]: Start difference. First operand 26 states and 77 transitions. Second operand 8 states. [2019-02-27 12:59:47,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:47,416 INFO L93 Difference]: Finished difference Result 44 states and 95 transitions. [2019-02-27 12:59:47,416 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 12:59:47,416 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 12:59:47,417 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:47,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:59:47,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 59 transitions. [2019-02-27 12:59:47,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:59:47,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 59 transitions. [2019-02-27 12:59:47,419 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 59 transitions. [2019-02-27 12:59:47,585 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:47,587 INFO L225 Difference]: With dead ends: 44 [2019-02-27 12:59:47,587 INFO L226 Difference]: Without dead ends: 43 [2019-02-27 12:59:47,588 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-02-27 12:59:47,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-02-27 12:59:47,677 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 25. [2019-02-27 12:59:47,677 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:47,678 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 25 states. [2019-02-27 12:59:47,678 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 25 states. [2019-02-27 12:59:47,678 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 25 states. [2019-02-27 12:59:47,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:47,681 INFO L93 Difference]: Finished difference Result 43 states and 93 transitions. [2019-02-27 12:59:47,681 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 93 transitions. [2019-02-27 12:59:47,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:47,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:47,682 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 43 states. [2019-02-27 12:59:47,682 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 43 states. [2019-02-27 12:59:47,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:47,685 INFO L93 Difference]: Finished difference Result 43 states and 93 transitions. [2019-02-27 12:59:47,685 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 93 transitions. [2019-02-27 12:59:47,685 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:47,685 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:47,686 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:47,686 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:47,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2019-02-27 12:59:47,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 70 transitions. [2019-02-27 12:59:47,687 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 70 transitions. Word has length 4 [2019-02-27 12:59:47,688 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:47,688 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 70 transitions. [2019-02-27 12:59:47,688 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 12:59:47,688 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 70 transitions. [2019-02-27 12:59:47,688 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 12:59:47,688 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:47,688 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 12:59:47,689 INFO L423 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:47,689 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:47,689 INFO L82 PathProgramCache]: Analyzing trace with hash 943510, now seen corresponding path program 1 times [2019-02-27 12:59:47,689 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:47,690 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:47,690 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:47,690 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:47,690 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:47,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:47,768 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1413#(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 [2019-02-27 12:59:47,770 INFO L273 TraceCheckUtils]: 1: Hoare triple {1413#(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]; {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:47,770 INFO L273 TraceCheckUtils]: 2: Hoare triple {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:47,770 INFO L273 TraceCheckUtils]: 3: Hoare triple {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2019-02-27 12:59:47,771 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:47,771 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:47,771 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:47,771 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 12:59:47,771 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [25] [2019-02-27 12:59:47,773 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:59:47,773 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:59:47,802 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:59:47,802 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 12:59:47,802 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:47,802 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:59:47,803 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:47,803 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 [2019-02-27 12:59:47,812 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:47,812 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:47,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:47,817 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 6 conjunts are in the unsatisfiable core [2019-02-27 12:59:47,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:47,821 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:47,836 INFO L467 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 [2019-02-27 12:59:47,846 INFO L467 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 [2019-02-27 12:59:47,863 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,864 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 12:59:47,907 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,909 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,910 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 12:59:47,933 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,939 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,940 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,942 INFO L467 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 [2019-02-27 12:59:47,948 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:47,968 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:47,981 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:47,992 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:48,003 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:48,023 INFO L301 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. [2019-02-27 12:59:48,024 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-27 12:59:48,033 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:48,034 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 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)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:48,034 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:48,133 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:48,134 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:48,135 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:48,136 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:48,137 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:48,138 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:48,139 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:48,141 INFO L467 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 [2019-02-27 12:59:48,144 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:48,174 INFO L301 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. [2019-02-27 12:59:48,174 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-27 12:59:48,208 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:48,209 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_55| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_55| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_55| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_55| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 12:59:48,209 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:48,257 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1418#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 12:59:48,260 INFO L273 TraceCheckUtils]: 1: Hoare triple {1418#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 12:59:48,260 INFO L273 TraceCheckUtils]: 2: Hoare triple {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 12:59:48,261 INFO L273 TraceCheckUtils]: 3: Hoare triple {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2019-02-27 12:59:48,261 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:48,261 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:48,280 INFO L273 TraceCheckUtils]: 3: Hoare triple {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2019-02-27 12:59:48,281 INFO L273 TraceCheckUtils]: 2: Hoare triple {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:48,282 INFO L273 TraceCheckUtils]: 1: Hoare triple {1436#(<= (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]; {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:48,284 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1436#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:48,285 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:48,304 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:59:48,304 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-27 12:59:48,305 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:59:48,305 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-27 12:59:48,305 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:48,305 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-27 12:59:48,337 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:48,338 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-27 12:59:48,338 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-27 12:59:48,338 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 12:59:48,338 INFO L87 Difference]: Start difference. First operand 25 states and 70 transitions. Second operand 6 states. [2019-02-27 12:59:48,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:48,849 INFO L93 Difference]: Finished difference Result 43 states and 96 transitions. [2019-02-27 12:59:48,849 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-27 12:59:48,849 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-27 12:59:48,850 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:48,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 12:59:48,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2019-02-27 12:59:48,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 12:59:48,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2019-02-27 12:59:48,851 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2019-02-27 12:59:48,919 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:48,920 INFO L225 Difference]: With dead ends: 43 [2019-02-27 12:59:48,920 INFO L226 Difference]: Without dead ends: 42 [2019-02-27 12:59:48,921 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 [2019-02-27 12:59:48,921 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2019-02-27 12:59:49,078 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 26. [2019-02-27 12:59:49,078 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:49,079 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 26 states. [2019-02-27 12:59:49,079 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 26 states. [2019-02-27 12:59:49,079 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 26 states. [2019-02-27 12:59:49,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:49,080 INFO L93 Difference]: Finished difference Result 42 states and 94 transitions. [2019-02-27 12:59:49,080 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 94 transitions. [2019-02-27 12:59:49,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:49,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:49,081 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 42 states. [2019-02-27 12:59:49,081 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 42 states. [2019-02-27 12:59:49,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:49,082 INFO L93 Difference]: Finished difference Result 42 states and 94 transitions. [2019-02-27 12:59:49,083 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 94 transitions. [2019-02-27 12:59:49,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:49,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:49,083 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:49,083 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:49,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-02-27 12:59:49,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 76 transitions. [2019-02-27 12:59:49,085 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 76 transitions. Word has length 4 [2019-02-27 12:59:49,085 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:49,085 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 76 transitions. [2019-02-27 12:59:49,085 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-27 12:59:49,085 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 76 transitions. [2019-02-27 12:59:49,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 12:59:49,086 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:49,086 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 12:59:49,086 INFO L423 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:49,086 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:49,086 INFO L82 PathProgramCache]: Analyzing trace with hash 943074, now seen corresponding path program 1 times [2019-02-27 12:59:49,086 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:49,087 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:49,087 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:49,088 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:49,088 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:49,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:49,246 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1617#(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 [2019-02-27 12:59:49,248 INFO L273 TraceCheckUtils]: 1: Hoare triple {1617#(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]; {1618#(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 [2019-02-27 12:59:49,249 INFO L273 TraceCheckUtils]: 2: Hoare triple {1618#(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]; {1619#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 12:59:49,249 INFO L273 TraceCheckUtils]: 3: Hoare triple {1619#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2019-02-27 12:59:49,250 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:49,250 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:49,250 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:49,251 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 12:59:49,251 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [23] [2019-02-27 12:59:49,253 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:59:49,253 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:59:49,271 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:59:49,271 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 12:59:49,271 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:49,272 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:59:49,272 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:49,272 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 [2019-02-27 12:59:49,282 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:49,283 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:49,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:49,292 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 12:59:49,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:49,295 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:49,344 INFO L467 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 [2019-02-27 12:59:49,351 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,352 INFO L467 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 [2019-02-27 12:59:49,366 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,367 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,368 INFO L467 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 [2019-02-27 12:59:49,386 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,387 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,388 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,389 INFO L467 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 [2019-02-27 12:59:49,408 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,410 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,411 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,412 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,414 INFO L467 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 [2019-02-27 12:59:49,429 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:49,457 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:49,473 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:49,486 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:49,497 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:49,520 INFO L301 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. [2019-02-27 12:59:49,521 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 12:59:49,530 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:49,531 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_57|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:49,531 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:49,637 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,639 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,642 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,644 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,646 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,648 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,650 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,652 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,654 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,657 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,659 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,661 INFO L467 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 [2019-02-27 12:59:49,669 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:49,733 INFO L301 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. [2019-02-27 12:59:49,733 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:49,752 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:49,752 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_58|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_58| ULTIMATE.start_main_p5))) (and (= (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|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_58| ULTIMATE.start_main_p1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_58| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 12:59:49,752 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:49,868 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,870 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,872 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,874 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,876 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,878 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,881 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,884 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,886 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,889 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,891 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,894 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,895 INFO L467 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 66 [2019-02-27 12:59:49,899 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:49,951 INFO L301 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. [2019-02-27 12:59:49,952 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:49,994 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:49,994 WARN L398 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)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_59| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 12:59:49,994 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< 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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:50,049 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1623#(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_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 12:59:50,052 INFO L273 TraceCheckUtils]: 1: Hoare triple {1623#(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_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1627#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 12:59:50,057 INFO L273 TraceCheckUtils]: 2: Hoare triple {1627#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1631#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 12:59:50,058 INFO L273 TraceCheckUtils]: 3: Hoare triple {1631#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2019-02-27 12:59:50,058 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:50,058 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:50,100 INFO L273 TraceCheckUtils]: 3: Hoare triple {1635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2019-02-27 12:59:50,101 INFO L273 TraceCheckUtils]: 2: Hoare triple {1639#(<= 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]; {1635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:50,103 INFO L273 TraceCheckUtils]: 1: Hoare triple {1643#(<= 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]; {1639#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:50,105 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1643#(<= 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 [2019-02-27 12:59:50,106 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:50,125 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:59:50,125 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 12:59:50,125 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:59:50,126 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 12:59:50,126 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:50,126 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 12:59:50,141 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:50,141 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 12:59:50,141 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 12:59:50,141 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 12:59:50,142 INFO L87 Difference]: Start difference. First operand 26 states and 76 transitions. Second operand 8 states. [2019-02-27 12:59:51,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:51,367 INFO L93 Difference]: Finished difference Result 56 states and 123 transitions. [2019-02-27 12:59:51,367 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 12:59:51,368 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 12:59:51,368 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:51,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:59:51,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2019-02-27 12:59:51,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:59:51,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2019-02-27 12:59:51,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2019-02-27 12:59:51,527 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:51,529 INFO L225 Difference]: With dead ends: 56 [2019-02-27 12:59:51,529 INFO L226 Difference]: Without dead ends: 55 [2019-02-27 12:59:51,529 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 [2019-02-27 12:59:51,530 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2019-02-27 12:59:51,648 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 28. [2019-02-27 12:59:51,649 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:51,649 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 28 states. [2019-02-27 12:59:51,649 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 28 states. [2019-02-27 12:59:51,649 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 28 states. [2019-02-27 12:59:51,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:51,652 INFO L93 Difference]: Finished difference Result 55 states and 121 transitions. [2019-02-27 12:59:51,652 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 121 transitions. [2019-02-27 12:59:51,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:51,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:51,652 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 55 states. [2019-02-27 12:59:51,652 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 55 states. [2019-02-27 12:59:51,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:51,654 INFO L93 Difference]: Finished difference Result 55 states and 121 transitions. [2019-02-27 12:59:51,654 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 121 transitions. [2019-02-27 12:59:51,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:51,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:51,655 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:51,655 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:51,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-02-27 12:59:51,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 88 transitions. [2019-02-27 12:59:51,656 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 88 transitions. Word has length 4 [2019-02-27 12:59:51,656 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:51,657 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 88 transitions. [2019-02-27 12:59:51,657 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 12:59:51,657 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 88 transitions. [2019-02-27 12:59:51,657 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 12:59:51,657 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:51,657 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 12:59:51,658 INFO L423 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:51,658 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:51,658 INFO L82 PathProgramCache]: Analyzing trace with hash 929868, now seen corresponding path program 2 times [2019-02-27 12:59:51,658 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:51,659 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:51,659 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:51,659 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:51,659 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:51,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:51,953 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1872#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 12:59:51,954 INFO L273 TraceCheckUtils]: 1: Hoare triple {1872#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1873#(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 [2019-02-27 12:59:51,955 INFO L273 TraceCheckUtils]: 2: Hoare triple {1873#(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]; {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:51,961 INFO L273 TraceCheckUtils]: 3: Hoare triple {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2019-02-27 12:59:51,961 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:51,961 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:51,962 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:51,962 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 12:59:51,962 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 12:59:51,962 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:51,962 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 [2019-02-27 12:59:51,971 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 12:59:51,971 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 12:59:51,977 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2019-02-27 12:59:51,977 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 12:59:51,978 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 12:59:51,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:51,982 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:52,013 INFO L467 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 [2019-02-27 12:59:52,020 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,021 INFO L467 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 [2019-02-27 12:59:52,034 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,035 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,036 INFO L467 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 [2019-02-27 12:59:52,049 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,050 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,051 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,052 INFO L467 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 [2019-02-27 12:59:52,071 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,073 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,074 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,076 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,077 INFO L467 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 [2019-02-27 12:59:52,083 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:52,110 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:52,128 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:52,142 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:52,154 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:52,176 INFO L301 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. [2019-02-27 12:59:52,176 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-27 12:59:52,187 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:52,187 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_62|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:52,187 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 12:59:52,256 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,263 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,264 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,264 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,265 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,266 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,267 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,268 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,269 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,270 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,272 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,273 INFO L467 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 [2019-02-27 12:59:52,284 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:52,338 INFO L301 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. [2019-02-27 12:59:52,338 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:52,347 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:52,348 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_63|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_63| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_63| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_63| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_63| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_63| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_63| ULTIMATE.start_main_p5) 0))) [2019-02-27 12:59:52,348 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 12:59:52,400 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,402 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,403 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,404 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,405 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,406 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,408 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,409 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,410 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,414 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,415 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,416 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:52,417 INFO L467 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 66 [2019-02-27 12:59:52,424 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:52,481 INFO L301 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. [2019-02-27 12:59:52,482 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:52,520 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:52,520 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_64| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_64| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_64| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_64| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 12:59:52,521 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:52,569 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1878#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 12:59:52,571 INFO L273 TraceCheckUtils]: 1: Hoare triple {1878#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1882#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 12:59:52,576 INFO L273 TraceCheckUtils]: 2: Hoare triple {1882#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 12:59:52,577 INFO L273 TraceCheckUtils]: 3: Hoare triple {1886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2019-02-27 12:59:52,577 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:52,578 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:52,604 INFO L273 TraceCheckUtils]: 3: Hoare triple {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2019-02-27 12:59:52,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {1893#(<= 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]; {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:52,606 INFO L273 TraceCheckUtils]: 1: Hoare triple {1897#(<= 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]; {1893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:52,608 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {1897#(<= 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 [2019-02-27 12:59:52,609 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:52,628 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:59:52,628 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-27 12:59:52,629 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:59:52,629 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 12:59:52,629 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:52,629 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 12:59:52,644 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:52,644 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 12:59:52,644 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 12:59:52,645 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-27 12:59:52,645 INFO L87 Difference]: Start difference. First operand 28 states and 88 transitions. Second operand 8 states. [2019-02-27 12:59:53,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:53,842 INFO L93 Difference]: Finished difference Result 66 states and 142 transitions. [2019-02-27 12:59:53,842 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 12:59:53,842 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 12:59:53,842 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:53,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:59:53,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2019-02-27 12:59:53,844 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:59:53,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2019-02-27 12:59:53,844 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2019-02-27 12:59:54,023 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:54,024 INFO L225 Difference]: With dead ends: 66 [2019-02-27 12:59:54,025 INFO L226 Difference]: Without dead ends: 64 [2019-02-27 12:59:54,025 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=46, Invalid=64, Unknown=0, NotChecked=0, Total=110 [2019-02-27 12:59:54,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2019-02-27 12:59:54,177 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 32. [2019-02-27 12:59:54,177 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:54,177 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 32 states. [2019-02-27 12:59:54,177 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 32 states. [2019-02-27 12:59:54,177 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 32 states. [2019-02-27 12:59:54,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:54,180 INFO L93 Difference]: Finished difference Result 64 states and 139 transitions. [2019-02-27 12:59:54,180 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 139 transitions. [2019-02-27 12:59:54,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:54,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:54,180 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 64 states. [2019-02-27 12:59:54,180 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 64 states. [2019-02-27 12:59:54,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:54,182 INFO L93 Difference]: Finished difference Result 64 states and 139 transitions. [2019-02-27 12:59:54,182 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 139 transitions. [2019-02-27 12:59:54,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:54,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:54,182 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:54,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:54,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2019-02-27 12:59:54,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 99 transitions. [2019-02-27 12:59:54,184 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 99 transitions. Word has length 4 [2019-02-27 12:59:54,184 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:54,184 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 99 transitions. [2019-02-27 12:59:54,184 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 12:59:54,184 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 99 transitions. [2019-02-27 12:59:54,185 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 12:59:54,185 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:54,185 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 12:59:54,185 INFO L423 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:54,185 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:54,185 INFO L82 PathProgramCache]: Analyzing trace with hash 930056, now seen corresponding path program 1 times [2019-02-27 12:59:54,186 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:54,186 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:54,186 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 12:59:54,187 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:54,187 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:54,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:54,277 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {2159#(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 [2019-02-27 12:59:54,278 INFO L273 TraceCheckUtils]: 1: Hoare triple {2159#(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]; {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:54,279 INFO L273 TraceCheckUtils]: 2: Hoare triple {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:54,300 INFO L273 TraceCheckUtils]: 3: Hoare triple {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2019-02-27 12:59:54,300 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:54,301 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:54,301 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:54,301 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 12:59:54,301 INFO L207 CegarAbsIntRunner]: [0], [6], [24], [25] [2019-02-27 12:59:54,302 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:59:54,302 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:59:54,315 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:59:54,315 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 12:59:54,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:54,316 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:59:54,316 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:54,316 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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 [2019-02-27 12:59:54,327 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:54,327 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:54,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:54,335 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 12:59:54,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:54,341 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:54,376 INFO L467 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 [2019-02-27 12:59:54,382 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,383 INFO L467 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 [2019-02-27 12:59:54,435 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,436 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,437 INFO L467 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 [2019-02-27 12:59:54,450 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,451 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,452 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,454 INFO L467 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 [2019-02-27 12:59:54,475 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,476 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,477 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,478 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,479 INFO L467 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 [2019-02-27 12:59:54,483 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:54,515 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:54,533 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:54,544 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:54,556 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:54,580 INFO L301 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. [2019-02-27 12:59:54,581 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-27 12:59:54,588 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:54,589 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_67|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 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_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:54,589 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:54,677 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,679 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,681 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,683 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,685 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,687 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,689 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,691 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,693 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,695 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,697 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:54,698 INFO L467 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 [2019-02-27 12:59:54,704 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:54,761 INFO L301 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. [2019-02-27 12:59:54,762 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:56,790 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:56,791 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_68|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_68| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_68| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_68| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p4) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 12:59:56,791 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 12:59:56,863 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {2164#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 12:59:56,866 INFO L273 TraceCheckUtils]: 1: Hoare triple {2164#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 12:59:56,881 INFO L273 TraceCheckUtils]: 2: Hoare triple {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 12:59:56,882 INFO L273 TraceCheckUtils]: 3: Hoare triple {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2019-02-27 12:59:56,882 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:56,882 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:56,902 INFO L273 TraceCheckUtils]: 3: Hoare triple {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2019-02-27 12:59:56,902 INFO L273 TraceCheckUtils]: 2: Hoare triple {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:56,904 INFO L273 TraceCheckUtils]: 1: Hoare triple {2182#(<= (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]; {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:56,908 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {2182#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 12:59:56,908 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:56,928 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:59:56,928 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-27 12:59:56,929 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:59:56,929 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-27 12:59:56,929 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:56,929 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-27 12:59:56,980 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:56,980 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-27 12:59:56,981 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-27 12:59:56,981 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 12:59:56,981 INFO L87 Difference]: Start difference. First operand 32 states and 99 transitions. Second operand 6 states. [2019-02-27 12:59:57,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:57,412 INFO L93 Difference]: Finished difference Result 45 states and 113 transitions. [2019-02-27 12:59:57,412 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-27 12:59:57,412 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-27 12:59:57,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:57,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 12:59:57,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 48 transitions. [2019-02-27 12:59:57,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 12:59:57,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 48 transitions. [2019-02-27 12:59:57,413 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 48 transitions. [2019-02-27 12:59:57,489 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:57,490 INFO L225 Difference]: With dead ends: 45 [2019-02-27 12:59:57,491 INFO L226 Difference]: Without dead ends: 44 [2019-02-27 12:59:57,491 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-27 12:59:57,492 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-02-27 12:59:57,750 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 33. [2019-02-27 12:59:57,750 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:57,750 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 33 states. [2019-02-27 12:59:57,750 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 33 states. [2019-02-27 12:59:57,751 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 33 states. [2019-02-27 12:59:57,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:57,752 INFO L93 Difference]: Finished difference Result 44 states and 111 transitions. [2019-02-27 12:59:57,753 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 111 transitions. [2019-02-27 12:59:57,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:57,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:57,753 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 44 states. [2019-02-27 12:59:57,753 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 44 states. [2019-02-27 12:59:57,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:57,755 INFO L93 Difference]: Finished difference Result 44 states and 111 transitions. [2019-02-27 12:59:57,755 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 111 transitions. [2019-02-27 12:59:57,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:57,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:57,755 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:57,756 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:57,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2019-02-27 12:59:57,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 104 transitions. [2019-02-27 12:59:57,757 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 104 transitions. Word has length 4 [2019-02-27 12:59:57,757 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:57,757 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 104 transitions. [2019-02-27 12:59:57,757 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-27 12:59:57,757 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 104 transitions. [2019-02-27 12:59:57,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 12:59:57,758 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:57,758 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 12:59:57,758 INFO L423 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:57,758 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:57,759 INFO L82 PathProgramCache]: Analyzing trace with hash 947418, now seen corresponding path program 1 times [2019-02-27 12:59:57,759 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:57,759 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:57,759 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:57,760 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:57,760 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:57,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:57,816 INFO L273 TraceCheckUtils]: 0: Hoare triple {2381#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 12:59:57,816 INFO L273 TraceCheckUtils]: 1: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 12:59:57,817 INFO L273 TraceCheckUtils]: 2: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 12:59:57,817 INFO L273 TraceCheckUtils]: 3: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {2382#false} is VALID [2019-02-27 12:59:57,818 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:57,818 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-27 12:59:57,818 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-27 12:59:57,818 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 12:59:57,819 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2019-02-27 12:59:57,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:57,819 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-27 12:59:57,824 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:57,824 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-27 12:59:57,824 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-27 12:59:57,824 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-27 12:59:57,825 INFO L87 Difference]: Start difference. First operand 33 states and 104 transitions. Second operand 3 states. [2019-02-27 12:59:58,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:58,047 INFO L93 Difference]: Finished difference Result 34 states and 104 transitions. [2019-02-27 12:59:58,047 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-27 12:59:58,047 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2019-02-27 12:59:58,048 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:58,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 12:59:58,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 23 transitions. [2019-02-27 12:59:58,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 12:59:58,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 23 transitions. [2019-02-27 12:59:58,049 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 23 transitions. [2019-02-27 12:59:58,340 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:58,341 INFO L225 Difference]: With dead ends: 34 [2019-02-27 12:59:58,341 INFO L226 Difference]: Without dead ends: 31 [2019-02-27 12:59:58,341 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 [2019-02-27 12:59:58,342 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2019-02-27 12:59:58,567 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2019-02-27 12:59:58,568 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:58,568 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 31 states. [2019-02-27 12:59:58,568 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2019-02-27 12:59:58,568 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2019-02-27 12:59:58,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:58,570 INFO L93 Difference]: Finished difference Result 31 states and 101 transitions. [2019-02-27 12:59:58,570 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2019-02-27 12:59:58,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:58,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:58,571 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2019-02-27 12:59:58,571 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2019-02-27 12:59:58,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:58,572 INFO L93 Difference]: Finished difference Result 31 states and 101 transitions. [2019-02-27 12:59:58,572 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2019-02-27 12:59:58,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:58,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:58,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:58,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:58,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-02-27 12:59:58,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 101 transitions. [2019-02-27 12:59:58,574 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 101 transitions. Word has length 4 [2019-02-27 12:59:58,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:58,574 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 101 transitions. [2019-02-27 12:59:58,574 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-27 12:59:58,574 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2019-02-27 12:59:58,575 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 12:59:58,575 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:58,575 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 12:59:58,575 INFO L423 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:58,575 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:58,575 INFO L82 PathProgramCache]: Analyzing trace with hash 933340, now seen corresponding path program 1 times [2019-02-27 12:59:58,575 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:58,576 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:58,576 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:58,576 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:58,576 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:58,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:58,659 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {2543#(and (not (= ULTIMATE.start_main_p2 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 [2019-02-27 12:59:58,660 INFO L273 TraceCheckUtils]: 1: Hoare triple {2543#(and (not (= ULTIMATE.start_main_p2 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]; {2544#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 12:59:58,661 INFO L273 TraceCheckUtils]: 2: Hoare triple {2544#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:58,661 INFO L273 TraceCheckUtils]: 3: Hoare triple {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2019-02-27 12:59:58,662 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:58,662 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:58,662 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:58,662 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 12:59:58,663 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [23] [2019-02-27 12:59:58,664 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:59:58,664 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:59:58,684 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:59:58,684 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 12:59:58,684 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:58,684 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:59:58,685 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:58,685 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 [2019-02-27 12:59:58,694 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:58,695 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:58,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:58,701 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 12:59:58,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:58,704 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:58,731 INFO L467 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 [2019-02-27 12:59:58,746 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,747 INFO L467 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 [2019-02-27 12:59:58,759 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,760 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,761 INFO L467 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 [2019-02-27 12:59:58,778 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,779 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,780 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,781 INFO L467 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 [2019-02-27 12:59:58,799 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,800 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,802 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,803 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,804 INFO L467 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 [2019-02-27 12:59:58,809 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:58,848 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:58,864 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:58,877 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:58,887 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:58,910 INFO L301 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. [2019-02-27 12:59:58,910 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-27 12:59:58,920 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:58,920 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_70| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:58,920 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:58,969 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,970 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,971 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,972 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,974 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,975 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,976 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,977 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,978 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,979 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,981 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:58,982 INFO L467 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 [2019-02-27 12:59:58,986 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:59,033 INFO L301 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. [2019-02-27 12:59:59,033 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 12:59:59,271 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:59,271 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_71|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_71| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_71| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_71| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p1)) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 12:59:59,271 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 12:59:59,400 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,402 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,403 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,404 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,406 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,407 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,408 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,410 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,411 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,412 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,413 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,414 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:59,416 INFO L467 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 68 [2019-02-27 12:59:59,418 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:59,469 INFO L301 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. [2019-02-27 12:59:59,469 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 12:59:59,488 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:59,488 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_72|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_72| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_72| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_72| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_72| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_72| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_72| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 12:59:59,488 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 12:59:59,541 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {2549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 12:59:59,545 INFO L273 TraceCheckUtils]: 1: Hoare triple {2549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2553#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 12:59:59,553 INFO L273 TraceCheckUtils]: 2: Hoare triple {2553#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2557#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 12:59:59,554 INFO L273 TraceCheckUtils]: 3: Hoare triple {2557#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2019-02-27 12:59:59,554 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:59,554 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:59:59,577 INFO L273 TraceCheckUtils]: 3: Hoare triple {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2019-02-27 12:59:59,578 INFO L273 TraceCheckUtils]: 2: Hoare triple {2564#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 12:59:59,579 INFO L273 TraceCheckUtils]: 1: Hoare triple {2568#(<= 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]; {2564#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 12:59:59,581 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {2568#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 12:59:59,582 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:59:59,601 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:59:59,601 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-27 12:59:59,601 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:59:59,601 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 12:59:59,602 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:59:59,602 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 12:59:59,621 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:59,621 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 12:59:59,621 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 12:59:59,621 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-27 12:59:59,622 INFO L87 Difference]: Start difference. First operand 31 states and 101 transitions. Second operand 8 states. [2019-02-27 13:00:00,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:00,597 INFO L93 Difference]: Finished difference Result 59 states and 152 transitions. [2019-02-27 13:00:00,597 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:00:00,597 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 13:00:00,597 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:00,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:00,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2019-02-27 13:00:00,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:00,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2019-02-27 13:00:00,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2019-02-27 13:00:00,810 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:00,811 INFO L225 Difference]: With dead ends: 59 [2019-02-27 13:00:00,811 INFO L226 Difference]: Without dead ends: 58 [2019-02-27 13:00:00,812 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 [2019-02-27 13:00:00,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2019-02-27 13:00:01,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 34. [2019-02-27 13:00:01,001 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:01,002 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 34 states. [2019-02-27 13:00:01,002 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 34 states. [2019-02-27 13:00:01,002 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 34 states. [2019-02-27 13:00:01,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:01,004 INFO L93 Difference]: Finished difference Result 58 states and 150 transitions. [2019-02-27 13:00:01,005 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 150 transitions. [2019-02-27 13:00:01,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:01,005 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:01,005 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 58 states. [2019-02-27 13:00:01,006 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 58 states. [2019-02-27 13:00:01,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:01,017 INFO L93 Difference]: Finished difference Result 58 states and 150 transitions. [2019-02-27 13:00:01,017 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 150 transitions. [2019-02-27 13:00:01,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:01,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:01,018 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:01,018 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:01,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2019-02-27 13:00:01,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 119 transitions. [2019-02-27 13:00:01,019 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 119 transitions. Word has length 4 [2019-02-27 13:00:01,020 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:01,020 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 119 transitions. [2019-02-27 13:00:01,020 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:00:01,020 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 119 transitions. [2019-02-27 13:00:01,020 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 13:00:01,020 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:01,020 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 13:00:01,021 INFO L423 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:01,021 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:01,021 INFO L82 PathProgramCache]: Analyzing trace with hash 937744, now seen corresponding path program 1 times [2019-02-27 13:00:01,021 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:01,022 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:01,022 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:01,023 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:01,023 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:01,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:01,429 WARN L181 SmtUtils]: Spent 225.00 ms on a formula simplification. DAG size of input: 20 DAG size of output: 13 [2019-02-27 13:00:01,440 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {2820#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:00:01,441 INFO L273 TraceCheckUtils]: 1: Hoare triple {2820#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 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]; {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:01,442 INFO L273 TraceCheckUtils]: 2: Hoare triple {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:01,443 INFO L273 TraceCheckUtils]: 3: Hoare triple {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2019-02-27 13:00:01,443 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:01,443 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:01,443 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:01,444 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 13:00:01,444 INFO L207 CegarAbsIntRunner]: [0], [14], [24], [25] [2019-02-27 13:00:01,447 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:01,447 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:01,465 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:01,465 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 13:00:01,465 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:01,465 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:01,466 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:01,466 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 [2019-02-27 13:00:01,474 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:01,474 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:01,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:01,483 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 6 conjunts are in the unsatisfiable core [2019-02-27 13:00:01,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:01,486 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:01,520 INFO L467 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 [2019-02-27 13:00:01,526 INFO L467 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 [2019-02-27 13:00:01,537 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,538 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:00:01,550 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,551 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,552 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:00:01,567 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,572 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,573 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,574 INFO L467 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 [2019-02-27 13:00:01,578 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:01,597 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:01,610 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:01,621 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:01,632 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:01,656 INFO L301 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. [2019-02-27 13:00:01,656 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-27 13:00:01,666 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:01,666 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_75|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_75| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:01,666 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:01,721 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,740 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,741 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,742 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,742 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,743 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,744 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:01,744 INFO L467 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 [2019-02-27 13:00:01,750 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:01,779 INFO L301 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. [2019-02-27 13:00:01,780 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-27 13:00:03,807 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:03,808 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_76|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_76| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_76| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_76| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_76| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_76| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:00:03,808 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:03,882 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {2825#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:00:03,884 INFO L273 TraceCheckUtils]: 1: Hoare triple {2825#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:00:03,886 INFO L273 TraceCheckUtils]: 2: Hoare triple {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:00:03,886 INFO L273 TraceCheckUtils]: 3: Hoare triple {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2019-02-27 13:00:03,887 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:03,887 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:03,909 INFO L273 TraceCheckUtils]: 3: Hoare triple {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2019-02-27 13:00:03,910 INFO L273 TraceCheckUtils]: 2: Hoare triple {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:03,911 INFO L273 TraceCheckUtils]: 1: Hoare triple {2843#(<= (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]; {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:03,913 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {2843#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:03,914 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:03,934 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:00:03,935 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-27 13:00:03,935 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:00:03,935 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-27 13:00:03,935 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:03,935 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-27 13:00:03,948 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:03,948 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-27 13:00:03,948 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-27 13:00:03,948 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:00:03,948 INFO L87 Difference]: Start difference. First operand 34 states and 119 transitions. Second operand 6 states. [2019-02-27 13:00:04,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:04,726 INFO L93 Difference]: Finished difference Result 51 states and 145 transitions. [2019-02-27 13:00:04,726 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-27 13:00:04,726 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-27 13:00:04,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:04,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:00:04,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2019-02-27 13:00:04,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:00:04,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2019-02-27 13:00:04,728 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2019-02-27 13:00:04,792 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:04,793 INFO L225 Difference]: With dead ends: 51 [2019-02-27 13:00:04,793 INFO L226 Difference]: Without dead ends: 50 [2019-02-27 13:00:04,793 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 [2019-02-27 13:00:04,793 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2019-02-27 13:00:05,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 35. [2019-02-27 13:00:05,151 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:05,151 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 35 states. [2019-02-27 13:00:05,151 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 35 states. [2019-02-27 13:00:05,152 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 35 states. [2019-02-27 13:00:05,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:05,153 INFO L93 Difference]: Finished difference Result 50 states and 143 transitions. [2019-02-27 13:00:05,153 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 143 transitions. [2019-02-27 13:00:05,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:05,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:05,154 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 50 states. [2019-02-27 13:00:05,154 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 50 states. [2019-02-27 13:00:05,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:05,155 INFO L93 Difference]: Finished difference Result 50 states and 143 transitions. [2019-02-27 13:00:05,156 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 143 transitions. [2019-02-27 13:00:05,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:05,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:05,156 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:05,156 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:05,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2019-02-27 13:00:05,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 125 transitions. [2019-02-27 13:00:05,157 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 125 transitions. Word has length 4 [2019-02-27 13:00:05,158 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:05,158 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 125 transitions. [2019-02-27 13:00:05,158 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-27 13:00:05,158 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 125 transitions. [2019-02-27 13:00:05,158 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 13:00:05,158 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:05,158 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 13:00:05,159 INFO L423 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:05,159 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:05,159 INFO L82 PathProgramCache]: Analyzing trace with hash 937308, now seen corresponding path program 1 times [2019-02-27 13:00:05,159 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:05,160 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:05,160 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:05,160 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:05,160 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:05,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:05,348 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {3073#(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_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:00:05,350 INFO L273 TraceCheckUtils]: 1: Hoare triple {3073#(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_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3074#(and (not (= ULTIMATE.start_main_p2 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 [2019-02-27 13:00:05,351 INFO L273 TraceCheckUtils]: 2: Hoare triple {3074#(and (not (= ULTIMATE.start_main_p2 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]; {3075#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:00:05,351 INFO L273 TraceCheckUtils]: 3: Hoare triple {3075#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2019-02-27 13:00:05,352 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:05,352 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:05,352 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:05,352 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 13:00:05,353 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [23] [2019-02-27 13:00:05,355 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:05,355 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:05,366 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:05,366 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:00:05,367 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:05,367 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:05,367 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:05,367 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 [2019-02-27 13:00:05,378 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:05,378 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:05,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:05,383 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:00:05,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:05,389 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:05,413 INFO L467 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 [2019-02-27 13:00:05,424 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,424 INFO L467 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 [2019-02-27 13:00:05,436 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,437 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,438 INFO L467 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 [2019-02-27 13:00:05,450 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,451 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,453 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,454 INFO L467 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 [2019-02-27 13:00:05,497 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,498 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,499 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,500 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,501 INFO L467 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 [2019-02-27 13:00:05,504 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:05,534 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:05,550 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:05,563 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:05,574 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:05,598 INFO L301 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. [2019-02-27 13:00:05,599 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:00:05,605 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:05,606 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_78| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:05,606 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:05,661 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,662 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,663 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,665 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,666 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,667 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,669 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,670 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,671 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,672 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,674 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,675 INFO L467 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 [2019-02-27 13:00:05,696 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:05,745 INFO L301 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. [2019-02-27 13:00:05,745 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:00:05,762 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:05,763 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_79|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_79| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_79| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_79| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_79| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_79| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_79| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:05,763 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:05,853 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,854 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,855 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,856 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,856 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,857 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,859 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,860 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,861 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,862 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,863 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,866 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,867 INFO L467 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 66 [2019-02-27 13:00:05,870 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:05,914 INFO L301 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. [2019-02-27 13:00:05,915 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:00:05,963 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:05,963 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_80|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_80| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p5)) (= 0 .cse0) (= (store |v_#memory_int_80| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 1 (select |v_#memory_int_80| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:05,964 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:06,024 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {3079#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:06,027 INFO L273 TraceCheckUtils]: 1: Hoare triple {3079#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3083#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:06,031 INFO L273 TraceCheckUtils]: 2: Hoare triple {3083#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3087#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:00:06,032 INFO L273 TraceCheckUtils]: 3: Hoare triple {3087#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2019-02-27 13:00:06,033 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:06,033 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:06,069 INFO L273 TraceCheckUtils]: 3: Hoare triple {3091#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2019-02-27 13:00:06,070 INFO L273 TraceCheckUtils]: 2: Hoare triple {3095#(<= 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]; {3091#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:06,072 INFO L273 TraceCheckUtils]: 1: Hoare triple {3099#(<= 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]; {3095#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:06,074 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {3099#(<= 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 [2019-02-27 13:00:06,074 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:06,094 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:00:06,094 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:00:06,094 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:00:06,095 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 13:00:06,095 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:06,095 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:00:06,110 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:06,110 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:00:06,110 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:00:06,111 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:00:06,111 INFO L87 Difference]: Start difference. First operand 35 states and 125 transitions. Second operand 8 states. [2019-02-27 13:00:07,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:07,316 INFO L93 Difference]: Finished difference Result 64 states and 172 transitions. [2019-02-27 13:00:07,316 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:00:07,316 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 13:00:07,316 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:07,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:07,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2019-02-27 13:00:07,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:07,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2019-02-27 13:00:07,318 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 60 transitions. [2019-02-27 13:00:07,555 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:07,557 INFO L225 Difference]: With dead ends: 64 [2019-02-27 13:00:07,557 INFO L226 Difference]: Without dead ends: 63 [2019-02-27 13:00:07,558 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 [2019-02-27 13:00:07,558 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2019-02-27 13:00:07,748 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 37. [2019-02-27 13:00:07,748 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:07,748 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand 37 states. [2019-02-27 13:00:07,749 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 37 states. [2019-02-27 13:00:07,749 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 37 states. [2019-02-27 13:00:07,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:07,751 INFO L93 Difference]: Finished difference Result 63 states and 170 transitions. [2019-02-27 13:00:07,751 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 170 transitions. [2019-02-27 13:00:07,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:07,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:07,752 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 63 states. [2019-02-27 13:00:07,752 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 63 states. [2019-02-27 13:00:07,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:07,754 INFO L93 Difference]: Finished difference Result 63 states and 170 transitions. [2019-02-27 13:00:07,754 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 170 transitions. [2019-02-27 13:00:07,754 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:07,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:07,755 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:07,755 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:07,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2019-02-27 13:00:07,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2019-02-27 13:00:07,756 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 4 [2019-02-27 13:00:07,756 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:07,756 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2019-02-27 13:00:07,756 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:00:07,756 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2019-02-27 13:00:07,757 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:00:07,757 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:07,757 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:00:07,757 INFO L423 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:07,757 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:07,758 INFO L82 PathProgramCache]: Analyzing trace with hash 29185378, now seen corresponding path program 1 times [2019-02-27 13:00:07,758 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:07,758 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:07,758 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:07,759 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:07,759 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:07,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:08,274 WARN L181 SmtUtils]: Spent 237.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 13 [2019-02-27 13:00:08,288 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {3377#(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)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:00:08,289 INFO L273 TraceCheckUtils]: 1: Hoare triple {3377#(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)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3378#(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 [2019-02-27 13:00:08,290 INFO L273 TraceCheckUtils]: 2: Hoare triple {3378#(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]; {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:08,291 INFO L273 TraceCheckUtils]: 3: Hoare triple {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:08,292 INFO L273 TraceCheckUtils]: 4: Hoare triple {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2019-02-27 13:00:08,292 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:08,293 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:08,293 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:08,293 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:00:08,293 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [25] [2019-02-27 13:00:08,294 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:08,294 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:08,327 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:08,327 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:00:08,328 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:08,328 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:08,328 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:08,328 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 [2019-02-27 13:00:08,341 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:08,342 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:08,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:08,347 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 13:00:08,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:08,350 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:08,365 INFO L467 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 [2019-02-27 13:00:08,372 INFO L467 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 [2019-02-27 13:00:08,383 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,384 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:00:08,399 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,400 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,401 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:00:08,416 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,422 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,423 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,424 INFO L467 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 [2019-02-27 13:00:08,434 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:08,457 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:08,470 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:08,481 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:08,492 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:08,511 INFO L301 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. [2019-02-27 13:00:08,512 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-27 13:00:08,521 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:08,521 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_83|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3]. (and (= (store (store (store (store (store |v_#memory_int_83| 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|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:08,521 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:00:08,582 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,584 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,585 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,586 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,588 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,589 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,590 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,591 INFO L467 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 [2019-02-27 13:00:08,594 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:08,622 INFO L301 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. [2019-02-27 13:00:08,623 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:00:10,629 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:10,630 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_84|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_84| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_84| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_84| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_84| ULTIMATE.start_main_p5)))) [2019-02-27 13:00:10,630 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:10,683 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:10,685 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:10,686 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:10,687 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:10,689 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:10,690 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:10,691 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:10,692 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:10,694 INFO L467 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 47 [2019-02-27 13:00:10,696 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:10,727 INFO L301 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. [2019-02-27 13:00:10,728 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-27 13:00:12,734 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:12,734 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_85|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_85| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_85| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_85| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= 0 (+ (select |v_#memory_int_85| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_85| ULTIMATE.start_main_p2) 0))) [2019-02-27 13:00:12,734 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:12,784 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {3383#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:00:12,786 INFO L273 TraceCheckUtils]: 1: Hoare triple {3383#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3387#(and (= 0 (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 (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-27 13:00:12,788 INFO L273 TraceCheckUtils]: 2: Hoare triple {3387#(and (= 0 (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 (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:00:12,789 INFO L273 TraceCheckUtils]: 3: Hoare triple {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:00:12,790 INFO L273 TraceCheckUtils]: 4: Hoare triple {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2019-02-27 13:00:12,790 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:12,790 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:12,832 INFO L273 TraceCheckUtils]: 4: Hoare triple {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2019-02-27 13:00:12,833 INFO L273 TraceCheckUtils]: 3: Hoare triple {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:12,834 INFO L273 TraceCheckUtils]: 2: Hoare triple {3405#(<= (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]; {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:12,836 INFO L273 TraceCheckUtils]: 1: Hoare triple {3409#(<= (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]; {3405#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:12,838 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {3409#(<= (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 [2019-02-27 13:00:12,838 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:12,858 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:00:12,858 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:00:12,858 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:00:12,858 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:00:12,859 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:12,859 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:00:12,875 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:12,876 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:00:12,876 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:00:12,876 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:00:12,876 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 8 states. [2019-02-27 13:00:13,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:13,742 INFO L93 Difference]: Finished difference Result 57 states and 164 transitions. [2019-02-27 13:00:13,742 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:00:13,742 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:00:13,743 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:13,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:13,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2019-02-27 13:00:13,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:13,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2019-02-27 13:00:13,744 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2019-02-27 13:00:13,844 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:13,846 INFO L225 Difference]: With dead ends: 57 [2019-02-27 13:00:13,846 INFO L226 Difference]: Without dead ends: 56 [2019-02-27 13:00:13,846 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:00:13,847 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2019-02-27 13:00:14,068 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 38. [2019-02-27 13:00:14,069 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:14,069 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 38 states. [2019-02-27 13:00:14,069 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 38 states. [2019-02-27 13:00:14,069 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 38 states. [2019-02-27 13:00:14,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:14,071 INFO L93 Difference]: Finished difference Result 56 states and 162 transitions. [2019-02-27 13:00:14,071 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 162 transitions. [2019-02-27 13:00:14,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:14,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:14,072 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 56 states. [2019-02-27 13:00:14,072 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 56 states. [2019-02-27 13:00:14,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:14,074 INFO L93 Difference]: Finished difference Result 56 states and 162 transitions. [2019-02-27 13:00:14,074 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 162 transitions. [2019-02-27 13:00:14,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:14,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:14,075 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:14,075 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:14,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2019-02-27 13:00:14,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 143 transitions. [2019-02-27 13:00:14,076 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 143 transitions. Word has length 5 [2019-02-27 13:00:14,076 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:14,077 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 143 transitions. [2019-02-27 13:00:14,077 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:00:14,077 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 143 transitions. [2019-02-27 13:00:14,077 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:00:14,077 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:14,077 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:00:14,078 INFO L423 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:14,078 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:14,078 INFO L82 PathProgramCache]: Analyzing trace with hash 29184942, now seen corresponding path program 1 times [2019-02-27 13:00:14,078 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:14,079 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:14,079 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:14,079 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:14,079 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:14,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:14,305 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {3668#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:00:14,306 INFO L273 TraceCheckUtils]: 1: Hoare triple {3668#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3669#(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 [2019-02-27 13:00:14,307 INFO L273 TraceCheckUtils]: 2: Hoare triple {3669#(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]; {3670#(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 [2019-02-27 13:00:14,308 INFO L273 TraceCheckUtils]: 3: Hoare triple {3670#(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]; {3671#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:00:14,308 INFO L273 TraceCheckUtils]: 4: Hoare triple {3671#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2019-02-27 13:00:14,308 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:14,309 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:14,309 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:14,309 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:00:14,309 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [20], [23] [2019-02-27 13:00:14,312 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:14,312 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:14,327 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:14,327 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:00:14,327 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:14,328 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:14,328 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:14,328 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 [2019-02-27 13:00:14,338 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:14,338 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:14,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:14,343 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:00:14,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:14,348 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:14,391 INFO L467 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 [2019-02-27 13:00:14,397 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,398 INFO L467 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 [2019-02-27 13:00:14,408 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,409 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,410 INFO L467 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 [2019-02-27 13:00:14,431 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,433 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,434 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,435 INFO L467 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 [2019-02-27 13:00:14,469 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,470 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,471 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,472 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,474 INFO L467 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 [2019-02-27 13:00:14,484 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:14,512 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:14,531 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:14,545 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:14,556 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:14,577 INFO L301 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. [2019-02-27 13:00:14,578 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:00:14,587 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:14,587 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_88| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:14,587 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:00:14,648 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,649 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,650 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,652 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,653 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,654 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,656 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,657 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,658 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,660 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,661 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,662 INFO L467 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 [2019-02-27 13:00:14,665 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:14,712 INFO L301 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. [2019-02-27 13:00:14,712 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:00:14,734 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:14,734 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_89|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_89| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_89| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_89| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_89| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_89| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_89| ULTIMATE.start_main_p1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:14,734 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:14,798 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,800 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,801 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,803 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,804 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,806 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,807 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,808 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,810 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,811 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,812 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,813 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:14,815 INFO L467 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 68 [2019-02-27 13:00:14,819 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:14,865 INFO L301 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. [2019-02-27 13:00:14,866 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:00:15,562 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:15,562 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_90|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_90| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_90| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_90| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (= (select |v_#memory_int_90| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_90| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_90| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:15,562 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:15,953 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:15,955 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:15,956 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:15,957 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:15,959 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:15,960 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:15,961 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:15,962 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:15,964 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:15,965 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:15,966 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:00:15,967 INFO L467 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 68 [2019-02-27 13:00:15,971 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:16,017 INFO L301 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. [2019-02-27 13:00:16,017 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:00:16,103 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:16,103 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_91|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_91| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_91| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_91| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_91| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_91| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_91| ULTIMATE.start_main_p1) 0))) [2019-02-27 13:00:16,104 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:16,173 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {3675#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:16,176 INFO L273 TraceCheckUtils]: 1: Hoare triple {3675#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3679#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-27 13:00:16,179 INFO L273 TraceCheckUtils]: 2: Hoare triple {3679#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3683#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:16,185 INFO L273 TraceCheckUtils]: 3: Hoare triple {3683#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3687#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:00:16,187 INFO L273 TraceCheckUtils]: 4: Hoare triple {3687#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2019-02-27 13:00:16,187 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:16,188 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:16,250 INFO L273 TraceCheckUtils]: 4: Hoare triple {3691#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2019-02-27 13:00:16,251 INFO L273 TraceCheckUtils]: 3: Hoare triple {3695#(<= 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]; {3691#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:16,252 INFO L273 TraceCheckUtils]: 2: Hoare triple {3699#(<= 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]; {3695#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:16,255 INFO L273 TraceCheckUtils]: 1: Hoare triple {3703#(<= 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]; {3699#(<= 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 [2019-02-27 13:00:16,257 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {3703#(<= 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 [2019-02-27 13:00:16,258 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:16,278 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:00:16,278 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:00:16,278 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:00:16,278 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:00:16,279 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:16,279 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:00:16,301 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:16,301 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:00:16,302 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:00:16,302 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:00:16,302 INFO L87 Difference]: Start difference. First operand 38 states and 143 transitions. Second operand 10 states. [2019-02-27 13:00:18,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:18,536 INFO L93 Difference]: Finished difference Result 68 states and 184 transitions. [2019-02-27 13:00:18,536 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:00:18,536 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:00:18,536 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:18,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:00:18,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2019-02-27 13:00:18,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:00:18,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2019-02-27 13:00:18,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2019-02-27 13:00:18,721 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:18,723 INFO L225 Difference]: With dead ends: 68 [2019-02-27 13:00:18,723 INFO L226 Difference]: Without dead ends: 67 [2019-02-27 13:00:18,724 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:00:18,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2019-02-27 13:00:18,937 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 37. [2019-02-27 13:00:18,937 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:18,937 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 37 states. [2019-02-27 13:00:18,937 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 37 states. [2019-02-27 13:00:18,937 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 37 states. [2019-02-27 13:00:18,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:18,939 INFO L93 Difference]: Finished difference Result 67 states and 182 transitions. [2019-02-27 13:00:18,939 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 182 transitions. [2019-02-27 13:00:18,940 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:18,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:18,940 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 67 states. [2019-02-27 13:00:18,940 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 67 states. [2019-02-27 13:00:18,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:18,942 INFO L93 Difference]: Finished difference Result 67 states and 182 transitions. [2019-02-27 13:00:18,942 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 182 transitions. [2019-02-27 13:00:18,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:18,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:18,943 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:18,943 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:18,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2019-02-27 13:00:18,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2019-02-27 13:00:18,944 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 5 [2019-02-27 13:00:18,944 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:18,944 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2019-02-27 13:00:18,944 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:00:18,944 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2019-02-27 13:00:18,944 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:00:18,945 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:18,945 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:00:18,945 INFO L423 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:18,945 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:18,945 INFO L82 PathProgramCache]: Analyzing trace with hash 29171924, now seen corresponding path program 1 times [2019-02-27 13:00:18,945 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:18,946 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:18,946 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:18,946 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:18,946 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:18,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:19,268 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {3997#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:00:19,278 INFO L273 TraceCheckUtils]: 1: Hoare triple {3997#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3998#(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 [2019-02-27 13:00:19,292 INFO L273 TraceCheckUtils]: 2: Hoare triple {3998#(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]; {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:19,301 INFO L273 TraceCheckUtils]: 3: Hoare triple {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:19,316 INFO L273 TraceCheckUtils]: 4: Hoare triple {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2019-02-27 13:00:19,316 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:19,317 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:19,317 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:19,317 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:00:19,317 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [25] [2019-02-27 13:00:19,318 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:19,318 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:19,380 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:19,380 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:00:19,381 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:19,381 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:19,381 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:19,382 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 [2019-02-27 13:00:19,392 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:19,392 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:19,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:19,398 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:00:19,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:19,401 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:19,426 INFO L467 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 [2019-02-27 13:00:19,435 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,436 INFO L467 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 [2019-02-27 13:00:19,447 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,449 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,450 INFO L467 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 [2019-02-27 13:00:19,463 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,465 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,466 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,467 INFO L467 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 [2019-02-27 13:00:19,485 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,487 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,488 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,490 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,491 INFO L467 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 [2019-02-27 13:00:19,496 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:19,525 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:19,541 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:19,553 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:19,564 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:19,586 INFO L301 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. [2019-02-27 13:00:19,586 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:00:19,597 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:19,598 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_95|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_95| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:19,598 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:00:19,654 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,656 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,657 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,658 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,659 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,661 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,662 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,663 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,665 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,666 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,667 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,668 INFO L467 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 [2019-02-27 13:00:19,672 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:19,716 INFO L301 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. [2019-02-27 13:00:19,717 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:00:19,847 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:19,847 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_96|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_96| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_96| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:19,848 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:19,905 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,906 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,908 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,909 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,910 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,911 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,913 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,914 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,915 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,916 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,917 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,918 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:19,920 INFO L467 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 68 [2019-02-27 13:00:19,923 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:19,969 INFO L301 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. [2019-02-27 13:00:19,969 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:00:20,200 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:20,201 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_97|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_97| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_97| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_97| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_97| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_97| ULTIMATE.start_main_p5)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_97| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:20,201 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:20,252 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {4003#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:20,254 INFO L273 TraceCheckUtils]: 1: Hoare triple {4003#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4007#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:20,262 INFO L273 TraceCheckUtils]: 2: Hoare triple {4007#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:00:20,263 INFO L273 TraceCheckUtils]: 3: Hoare triple {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:00:20,268 INFO L273 TraceCheckUtils]: 4: Hoare triple {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2019-02-27 13:00:20,268 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:20,268 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:20,357 INFO L273 TraceCheckUtils]: 4: Hoare triple {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2019-02-27 13:00:20,357 INFO L273 TraceCheckUtils]: 3: Hoare triple {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:20,359 INFO L273 TraceCheckUtils]: 2: Hoare triple {4025#(<= (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]; {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:20,360 INFO L273 TraceCheckUtils]: 1: Hoare triple {4029#(<= (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]; {4025#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:20,363 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {4029#(<= (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 [2019-02-27 13:00:20,363 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:20,381 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:00:20,382 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:00:20,382 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:00:20,382 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:00:20,382 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:20,382 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:00:20,404 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:20,404 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:00:20,404 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:00:20,405 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:00:20,405 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 8 states. [2019-02-27 13:00:21,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:21,671 INFO L93 Difference]: Finished difference Result 56 states and 158 transitions. [2019-02-27 13:00:21,671 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:00:21,671 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:00:21,672 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:21,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:21,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2019-02-27 13:00:21,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:21,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2019-02-27 13:00:21,673 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2019-02-27 13:00:21,764 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:21,765 INFO L225 Difference]: With dead ends: 56 [2019-02-27 13:00:21,766 INFO L226 Difference]: Without dead ends: 55 [2019-02-27 13:00:21,766 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:00:21,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2019-02-27 13:00:21,995 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 37. [2019-02-27 13:00:21,996 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:21,996 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 37 states. [2019-02-27 13:00:21,996 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 37 states. [2019-02-27 13:00:21,996 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 37 states. [2019-02-27 13:00:21,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:21,998 INFO L93 Difference]: Finished difference Result 55 states and 156 transitions. [2019-02-27 13:00:21,998 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 156 transitions. [2019-02-27 13:00:21,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:21,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:21,998 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 55 states. [2019-02-27 13:00:21,998 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 55 states. [2019-02-27 13:00:21,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:21,999 INFO L93 Difference]: Finished difference Result 55 states and 156 transitions. [2019-02-27 13:00:22,000 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 156 transitions. [2019-02-27 13:00:22,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:22,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:22,000 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:22,000 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:22,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2019-02-27 13:00:22,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2019-02-27 13:00:22,001 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 5 [2019-02-27 13:00:22,001 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:22,001 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2019-02-27 13:00:22,001 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:00:22,001 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2019-02-27 13:00:22,002 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:00:22,002 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:22,002 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:00:22,002 INFO L423 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:22,002 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:22,002 INFO L82 PathProgramCache]: Analyzing trace with hash 29189286, now seen corresponding path program 1 times [2019-02-27 13:00:22,002 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:22,003 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:22,003 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:22,003 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:22,003 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:22,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:22,084 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {4282#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:00:22,085 INFO L273 TraceCheckUtils]: 1: Hoare triple {4282#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:00:22,086 INFO L273 TraceCheckUtils]: 2: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:00:22,086 INFO L273 TraceCheckUtils]: 3: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:00:22,086 INFO L273 TraceCheckUtils]: 4: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2019-02-27 13:00:22,087 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:22,087 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:22,087 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:22,087 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:00:22,087 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [26], [27] [2019-02-27 13:00:22,088 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:22,088 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:22,102 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:22,102 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 13:00:22,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:22,102 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:22,102 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:22,102 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 [2019-02-27 13:00:22,112 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:22,112 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:22,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:22,119 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 5 conjunts are in the unsatisfiable core [2019-02-27 13:00:22,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:22,123 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:22,139 INFO L467 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 [2019-02-27 13:00:22,145 INFO L467 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 [2019-02-27 13:00:22,155 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-27 13:00:22,167 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:22,168 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-27 13:00:22,181 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:22,187 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:22,188 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-27 13:00:22,192 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:22,208 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:22,219 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:22,230 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:22,242 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:22,258 INFO L301 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. [2019-02-27 13:00:22,259 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2019-02-27 13:00:22,264 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:22,264 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_100|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_100| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:00:22,265 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:00:22,322 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:22,323 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:22,324 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:22,325 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:22,326 INFO L467 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 [2019-02-27 13:00:22,341 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:22,357 INFO L301 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. [2019-02-27 13:00:22,358 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-02-27 13:00:24,363 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:24,364 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_101|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_101| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_101| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-27 13:00:24,364 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:00:24,483 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {4287#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:00:24,485 INFO L273 TraceCheckUtils]: 1: Hoare triple {4287#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (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]; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:00:24,486 INFO L273 TraceCheckUtils]: 2: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:00:24,487 INFO L273 TraceCheckUtils]: 3: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:00:24,488 INFO L273 TraceCheckUtils]: 4: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2019-02-27 13:00:24,488 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:24,488 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:24,511 INFO L273 TraceCheckUtils]: 4: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2019-02-27 13:00:24,511 INFO L273 TraceCheckUtils]: 3: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:00:24,512 INFO L273 TraceCheckUtils]: 2: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:00:24,513 INFO L273 TraceCheckUtils]: 1: Hoare triple {4311#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:00:24,515 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {4311#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:00:24,516 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:24,536 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:00:24,536 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-27 13:00:24,536 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:00:24,536 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2019-02-27 13:00:24,537 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:24,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-27 13:00:24,551 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:24,551 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-27 13:00:24,551 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-27 13:00:24,551 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:00:24,552 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 6 states. [2019-02-27 13:00:25,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:25,230 INFO L93 Difference]: Finished difference Result 45 states and 143 transitions. [2019-02-27 13:00:25,230 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-27 13:00:25,230 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2019-02-27 13:00:25,231 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:25,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:00:25,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2019-02-27 13:00:25,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:00:25,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2019-02-27 13:00:25,232 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2019-02-27 13:00:25,286 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:25,287 INFO L225 Difference]: With dead ends: 45 [2019-02-27 13:00:25,287 INFO L226 Difference]: Without dead ends: 44 [2019-02-27 13:00:25,287 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-27 13:00:25,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-02-27 13:00:25,732 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 39. [2019-02-27 13:00:25,732 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:25,732 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 39 states. [2019-02-27 13:00:25,732 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 39 states. [2019-02-27 13:00:25,732 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 39 states. [2019-02-27 13:00:25,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:25,734 INFO L93 Difference]: Finished difference Result 44 states and 141 transitions. [2019-02-27 13:00:25,734 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 141 transitions. [2019-02-27 13:00:25,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:25,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:25,734 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 44 states. [2019-02-27 13:00:25,734 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 44 states. [2019-02-27 13:00:25,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:25,736 INFO L93 Difference]: Finished difference Result 44 states and 141 transitions. [2019-02-27 13:00:25,736 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 141 transitions. [2019-02-27 13:00:25,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:25,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:25,736 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:25,736 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:25,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2019-02-27 13:00:25,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 138 transitions. [2019-02-27 13:00:25,738 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 138 transitions. Word has length 5 [2019-02-27 13:00:25,738 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:25,738 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 138 transitions. [2019-02-27 13:00:25,738 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-27 13:00:25,738 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 138 transitions. [2019-02-27 13:00:25,738 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:00:25,738 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:25,738 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:00:25,738 INFO L423 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:25,739 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:25,739 INFO L82 PathProgramCache]: Analyzing trace with hash 29175208, now seen corresponding path program 1 times [2019-02-27 13:00:25,739 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:25,739 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:25,739 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:25,740 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:25,740 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:25,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:26,065 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {4530#(and (not (= ULTIMATE.start_main_p2 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 [2019-02-27 13:00:26,067 INFO L273 TraceCheckUtils]: 1: Hoare triple {4530#(and (not (= ULTIMATE.start_main_p2 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]; {4531#(and (not (= ULTIMATE.start_main_p2 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 [2019-02-27 13:00:26,067 INFO L273 TraceCheckUtils]: 2: Hoare triple {4531#(and (not (= ULTIMATE.start_main_p2 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]; {4532#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:00:26,068 INFO L273 TraceCheckUtils]: 3: Hoare triple {4532#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:26,069 INFO L273 TraceCheckUtils]: 4: Hoare triple {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2019-02-27 13:00:26,070 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:26,070 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:26,070 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:26,070 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:00:26,070 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [23] [2019-02-27 13:00:26,072 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:26,073 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:26,085 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:26,085 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:00:26,086 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:26,086 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:26,086 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:26,086 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 [2019-02-27 13:00:26,095 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:26,096 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:26,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:26,100 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:00:26,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:26,104 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:26,140 INFO L467 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 [2019-02-27 13:00:26,149 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,150 INFO L467 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 [2019-02-27 13:00:26,160 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,162 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,163 INFO L467 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 [2019-02-27 13:00:26,177 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,178 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,179 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,180 INFO L467 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 [2019-02-27 13:00:26,199 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,201 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,202 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,204 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,205 INFO L467 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 [2019-02-27 13:00:26,218 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:26,245 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:26,263 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:26,276 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:26,293 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:26,314 INFO L301 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. [2019-02-27 13:00:26,314 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:00:26,323 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:26,323 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_103|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store (store (store (store (store |v_#memory_int_103| 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|)) [2019-02-27 13:00:26,324 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:00:26,406 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,408 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,409 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,410 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,412 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,413 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,414 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,415 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,417 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,418 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,423 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,424 INFO L467 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 [2019-02-27 13:00:26,427 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:26,473 INFO L301 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. [2019-02-27 13:00:26,474 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:00:26,743 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:26,743 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_104|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_104| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_104| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_104| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:26,743 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:26,808 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,810 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,811 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,813 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,814 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,815 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,817 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,818 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,819 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,820 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:26,821 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:00:26,822 INFO L467 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 68 [2019-02-27 13:00:26,826 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:26,871 INFO L301 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. [2019-02-27 13:00:26,871 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:00:28,880 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:28,880 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_105| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_105| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_105| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_105| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_105| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_105| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:28,880 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:28,980 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,981 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,982 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,984 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,985 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,986 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,987 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,988 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,990 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,991 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,992 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,993 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:28,994 INFO L467 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 70 [2019-02-27 13:00:28,998 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:29,057 INFO L301 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. [2019-02-27 13:00:29,057 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-27 13:00:29,077 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:29,077 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_106| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_106| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_106| ULTIMATE.start_main_p2) 1) 0) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (+ (select |v_#memory_int_106| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:29,077 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:00:29,105 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {4537#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:29,108 INFO L273 TraceCheckUtils]: 1: Hoare triple {4537#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4541#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:29,116 INFO L273 TraceCheckUtils]: 2: Hoare triple {4541#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4545#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:00:29,123 INFO L273 TraceCheckUtils]: 3: Hoare triple {4545#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 13:00:29,124 INFO L273 TraceCheckUtils]: 4: Hoare triple {4549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2019-02-27 13:00:29,124 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:29,124 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:29,195 INFO L273 TraceCheckUtils]: 4: Hoare triple {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2019-02-27 13:00:29,195 INFO L273 TraceCheckUtils]: 3: Hoare triple {4556#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:29,196 INFO L273 TraceCheckUtils]: 2: Hoare triple {4560#(<= 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]; {4556#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:00:29,197 INFO L273 TraceCheckUtils]: 1: Hoare triple {4564#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4560#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:00:29,199 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {4564#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:00:29,199 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:29,218 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:00:29,218 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-27 13:00:29,218 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:00:29,219 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:00:29,219 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:29,219 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:00:29,248 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:29,248 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:00:29,248 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:00:29,248 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:00:29,248 INFO L87 Difference]: Start difference. First operand 39 states and 138 transitions. Second operand 10 states. [2019-02-27 13:00:31,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:31,101 INFO L93 Difference]: Finished difference Result 71 states and 207 transitions. [2019-02-27 13:00:31,101 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 13:00:31,101 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:00:31,101 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:31,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:00:31,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2019-02-27 13:00:31,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:00:31,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2019-02-27 13:00:31,103 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 74 transitions. [2019-02-27 13:00:31,342 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:31,343 INFO L225 Difference]: With dead ends: 71 [2019-02-27 13:00:31,344 INFO L226 Difference]: Without dead ends: 70 [2019-02-27 13:00:31,344 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2019-02-27 13:00:31,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2019-02-27 13:00:31,626 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 40. [2019-02-27 13:00:31,626 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:31,627 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 40 states. [2019-02-27 13:00:31,627 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 40 states. [2019-02-27 13:00:31,627 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 40 states. [2019-02-27 13:00:31,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:31,629 INFO L93 Difference]: Finished difference Result 70 states and 205 transitions. [2019-02-27 13:00:31,629 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 205 transitions. [2019-02-27 13:00:31,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:31,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:31,630 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 70 states. [2019-02-27 13:00:31,630 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 70 states. [2019-02-27 13:00:31,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:31,631 INFO L93 Difference]: Finished difference Result 70 states and 205 transitions. [2019-02-27 13:00:31,632 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 205 transitions. [2019-02-27 13:00:31,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:31,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:31,632 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:31,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:31,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2019-02-27 13:00:31,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 144 transitions. [2019-02-27 13:00:31,634 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 144 transitions. Word has length 5 [2019-02-27 13:00:31,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:31,634 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 144 transitions. [2019-02-27 13:00:31,634 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:00:31,634 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 144 transitions. [2019-02-27 13:00:31,634 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:00:31,634 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:31,635 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:00:31,635 INFO L423 AbstractCegarLoop]: === Iteration 23 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:31,635 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:31,635 INFO L82 PathProgramCache]: Analyzing trace with hash 29179612, now seen corresponding path program 1 times [2019-02-27 13:00:31,635 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:31,636 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:31,636 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:31,636 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:31,636 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:31,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:31,755 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {4873#(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 [2019-02-27 13:00:31,757 INFO L273 TraceCheckUtils]: 1: Hoare triple {4873#(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]; {4874#(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 [2019-02-27 13:00:31,757 INFO L273 TraceCheckUtils]: 2: Hoare triple {4874#(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]; {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:31,758 INFO L273 TraceCheckUtils]: 3: Hoare triple {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:31,758 INFO L273 TraceCheckUtils]: 4: Hoare triple {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2019-02-27 13:00:31,758 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:31,758 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:31,758 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:31,759 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:00:31,759 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [25] [2019-02-27 13:00:31,760 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:31,760 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:31,774 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:31,775 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:00:31,775 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:31,775 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:31,775 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:31,775 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 [2019-02-27 13:00:31,784 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:31,784 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:31,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:31,790 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 13:00:31,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:31,797 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:31,818 INFO L467 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 [2019-02-27 13:00:31,824 INFO L467 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 [2019-02-27 13:00:31,833 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,834 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:00:31,848 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,849 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,850 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:00:31,863 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,868 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,870 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,871 INFO L467 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 [2019-02-27 13:00:31,874 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:31,895 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:31,908 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:31,919 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:31,931 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:31,950 INFO L301 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. [2019-02-27 13:00:31,950 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-27 13:00:31,954 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:31,955 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_110| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:31,955 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:00:32,021 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,023 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,024 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,025 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,027 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,028 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,029 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,030 INFO L467 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 [2019-02-27 13:00:32,033 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:32,063 INFO L301 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. [2019-02-27 13:00:32,064 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:00:32,071 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:32,072 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_111|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_111| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_111| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_111| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_111| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_111| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:00:32,072 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:32,124 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,126 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,127 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,128 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,130 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,131 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,132 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,133 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:32,134 INFO L467 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 47 [2019-02-27 13:00:32,137 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:32,166 INFO L301 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. [2019-02-27 13:00:32,166 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-27 13:00:34,170 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:34,170 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_112|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_112| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_112| ULTIMATE.start_main_p2) 0) (= 0 (+ (select |v_#memory_int_112| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_112| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_112| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:00:34,170 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:34,221 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {4879#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:00:34,223 INFO L273 TraceCheckUtils]: 1: Hoare triple {4879#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4883#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:00:34,226 INFO L273 TraceCheckUtils]: 2: Hoare triple {4883#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:00:34,227 INFO L273 TraceCheckUtils]: 3: Hoare triple {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:00:34,227 INFO L273 TraceCheckUtils]: 4: Hoare triple {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2019-02-27 13:00:34,228 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:34,228 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:34,278 INFO L273 TraceCheckUtils]: 4: Hoare triple {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2019-02-27 13:00:34,280 INFO L273 TraceCheckUtils]: 3: Hoare triple {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:34,283 INFO L273 TraceCheckUtils]: 2: Hoare triple {4901#(<= (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]; {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:34,285 INFO L273 TraceCheckUtils]: 1: Hoare triple {4905#(<= (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]; {4901#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:34,287 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {4905#(<= (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 [2019-02-27 13:00:34,287 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:34,305 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:00:34,305 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:00:34,305 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:00:34,306 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:00:34,306 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:34,306 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:00:34,320 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:34,321 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:00:34,321 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:00:34,321 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:00:34,321 INFO L87 Difference]: Start difference. First operand 40 states and 144 transitions. Second operand 8 states. [2019-02-27 13:00:36,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:36,414 INFO L93 Difference]: Finished difference Result 59 states and 171 transitions. [2019-02-27 13:00:36,414 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:00:36,414 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:00:36,414 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:36,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:36,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2019-02-27 13:00:36,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:36,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2019-02-27 13:00:36,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 55 transitions. [2019-02-27 13:00:36,491 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:36,493 INFO L225 Difference]: With dead ends: 59 [2019-02-27 13:00:36,493 INFO L226 Difference]: Without dead ends: 58 [2019-02-27 13:00:36,493 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:00:36,494 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2019-02-27 13:00:36,783 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 41. [2019-02-27 13:00:36,783 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:36,784 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 41 states. [2019-02-27 13:00:36,784 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 41 states. [2019-02-27 13:00:36,784 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 41 states. [2019-02-27 13:00:36,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:36,786 INFO L93 Difference]: Finished difference Result 58 states and 169 transitions. [2019-02-27 13:00:36,786 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 169 transitions. [2019-02-27 13:00:36,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:36,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:36,787 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 58 states. [2019-02-27 13:00:36,787 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 58 states. [2019-02-27 13:00:36,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:36,788 INFO L93 Difference]: Finished difference Result 58 states and 169 transitions. [2019-02-27 13:00:36,788 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 169 transitions. [2019-02-27 13:00:36,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:36,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:36,789 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:36,789 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:36,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2019-02-27 13:00:36,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 150 transitions. [2019-02-27 13:00:36,790 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 150 transitions. Word has length 5 [2019-02-27 13:00:36,790 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:36,790 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 150 transitions. [2019-02-27 13:00:36,790 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:00:36,790 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 150 transitions. [2019-02-27 13:00:36,791 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:00:36,791 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:36,791 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:00:36,791 INFO L423 AbstractCegarLoop]: === Iteration 24 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:36,791 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:36,791 INFO L82 PathProgramCache]: Analyzing trace with hash 29179176, now seen corresponding path program 1 times [2019-02-27 13:00:36,791 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:36,792 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:36,792 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:36,792 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:36,792 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:36,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:37,225 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {5175#(and (not (= ULTIMATE.start_main_p2 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:00:37,227 INFO L273 TraceCheckUtils]: 1: Hoare triple {5175#(and (not (= ULTIMATE.start_main_p2 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5176#(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_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:00:37,228 INFO L273 TraceCheckUtils]: 2: Hoare triple {5176#(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_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5177#(and (not (= ULTIMATE.start_main_p2 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 [2019-02-27 13:00:37,229 INFO L273 TraceCheckUtils]: 3: Hoare triple {5177#(and (not (= ULTIMATE.start_main_p2 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]; {5178#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:00:37,229 INFO L273 TraceCheckUtils]: 4: Hoare triple {5178#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2019-02-27 13:00:37,230 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:37,230 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:37,230 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:37,231 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:00:37,231 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [23] [2019-02-27 13:00:37,232 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:37,232 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:37,248 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:37,249 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:00:37,249 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:37,249 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:37,249 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:37,249 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 [2019-02-27 13:00:37,258 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:37,258 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:37,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:37,263 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:00:37,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:37,267 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:37,281 INFO L467 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 [2019-02-27 13:00:37,288 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,288 INFO L467 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 [2019-02-27 13:00:37,348 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,349 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,349 INFO L467 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 [2019-02-27 13:00:37,367 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,368 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,369 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,370 INFO L467 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 [2019-02-27 13:00:37,389 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,391 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,392 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,394 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,395 INFO L467 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 [2019-02-27 13:00:37,398 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:37,428 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:37,443 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:37,456 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:37,467 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:37,488 INFO L301 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. [2019-02-27 13:00:37,488 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:00:37,493 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:37,494 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_115|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_115| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:37,494 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:00:37,555 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,556 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,558 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,559 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,560 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,562 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,563 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,564 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,566 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,567 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,568 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:37,569 INFO L467 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 [2019-02-27 13:00:37,572 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:37,616 INFO L301 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. [2019-02-27 13:00:37,616 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:00:38,663 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:38,664 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_116|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_116| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_116| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_116| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2019-02-27 13:00:38,664 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:38,727 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,729 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,730 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,731 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,732 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,734 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,735 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,736 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,737 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,739 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,740 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,741 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:38,742 INFO L467 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 68 [2019-02-27 13:00:38,747 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:38,791 INFO L301 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. [2019-02-27 13:00:38,791 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:00:41,208 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:41,208 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_117| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (store |v_#memory_int_117| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_117| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_117| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:41,208 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (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)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:41,448 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:41,449 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:41,451 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:41,452 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:41,453 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:41,455 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:41,456 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:41,458 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:41,459 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:41,460 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:41,461 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:00:41,462 INFO L467 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 68 [2019-02-27 13:00:41,466 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:41,758 INFO L301 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. [2019-02-27 13:00:41,759 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:00:43,766 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:43,766 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_118|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_118| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_118| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_118| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_118| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_118| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2019-02-27 13:00:43,766 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:43,839 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {5182#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:43,842 INFO L273 TraceCheckUtils]: 1: Hoare triple {5182#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5186#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:43,846 INFO L273 TraceCheckUtils]: 2: Hoare triple {5186#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5190#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:43,853 INFO L273 TraceCheckUtils]: 3: Hoare triple {5190#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:00:43,854 INFO L273 TraceCheckUtils]: 4: Hoare triple {5194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2019-02-27 13:00:43,855 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:43,855 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:43,917 INFO L273 TraceCheckUtils]: 4: Hoare triple {5198#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2019-02-27 13:00:43,918 INFO L273 TraceCheckUtils]: 3: Hoare triple {5202#(<= 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]; {5198#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:43,920 INFO L273 TraceCheckUtils]: 2: Hoare triple {5206#(<= 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]; {5202#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:43,922 INFO L273 TraceCheckUtils]: 1: Hoare triple {5210#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5206#(<= 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 [2019-02-27 13:00:43,924 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {5210#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:43,925 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:43,945 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:00:43,945 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:00:43,945 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:00:43,945 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:00:43,945 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:43,946 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:00:43,965 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:43,965 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:00:43,966 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:00:43,966 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:00:43,966 INFO L87 Difference]: Start difference. First operand 41 states and 150 transitions. Second operand 10 states. [2019-02-27 13:00:46,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:46,029 INFO L93 Difference]: Finished difference Result 71 states and 197 transitions. [2019-02-27 13:00:46,029 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:00:46,029 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:00:46,029 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:46,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:00:46,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2019-02-27 13:00:46,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:00:46,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2019-02-27 13:00:46,030 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 69 transitions. [2019-02-27 13:00:46,229 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:46,230 INFO L225 Difference]: With dead ends: 71 [2019-02-27 13:00:46,230 INFO L226 Difference]: Without dead ends: 70 [2019-02-27 13:00:46,231 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:00:46,231 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2019-02-27 13:00:46,486 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 38. [2019-02-27 13:00:46,486 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:46,486 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 38 states. [2019-02-27 13:00:46,487 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 38 states. [2019-02-27 13:00:46,487 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 38 states. [2019-02-27 13:00:46,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:46,489 INFO L93 Difference]: Finished difference Result 70 states and 195 transitions. [2019-02-27 13:00:46,489 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 195 transitions. [2019-02-27 13:00:46,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:46,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:46,489 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 70 states. [2019-02-27 13:00:46,489 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 70 states. [2019-02-27 13:00:46,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:46,491 INFO L93 Difference]: Finished difference Result 70 states and 195 transitions. [2019-02-27 13:00:46,491 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 195 transitions. [2019-02-27 13:00:46,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:46,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:46,491 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:46,491 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:46,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2019-02-27 13:00:46,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 132 transitions. [2019-02-27 13:00:46,493 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 132 transitions. Word has length 5 [2019-02-27 13:00:46,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:46,493 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 132 transitions. [2019-02-27 13:00:46,493 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:00:46,493 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 132 transitions. [2019-02-27 13:00:46,493 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:00:46,493 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:46,494 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:00:46,494 INFO L423 AbstractCegarLoop]: === Iteration 25 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:46,494 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:46,494 INFO L82 PathProgramCache]: Analyzing trace with hash 29231506, now seen corresponding path program 1 times [2019-02-27 13:00:46,494 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:46,495 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:46,495 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:46,495 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:46,495 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:46,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:46,659 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {5515#(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 [2019-02-27 13:00:46,660 INFO L273 TraceCheckUtils]: 1: Hoare triple {5515#(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]; {5516#(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 [2019-02-27 13:00:46,661 INFO L273 TraceCheckUtils]: 2: Hoare triple {5516#(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]; {5516#(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 [2019-02-27 13:00:46,662 INFO L273 TraceCheckUtils]: 3: Hoare triple {5516#(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; {5517#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:46,663 INFO L273 TraceCheckUtils]: 4: Hoare triple {5517#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2019-02-27 13:00:46,663 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:00:46,663 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:46,664 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:46,664 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:00:46,664 INFO L207 CegarAbsIntRunner]: [0], [6], [20], [24], [25] [2019-02-27 13:00:46,667 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:46,667 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:46,676 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:46,676 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:00:46,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:46,676 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:46,677 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:46,677 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 [2019-02-27 13:00:46,686 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:46,686 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:46,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:46,691 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:00:46,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:46,693 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:46,735 INFO L467 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 [2019-02-27 13:00:46,741 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:46,741 INFO L467 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 [2019-02-27 13:00:46,751 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:46,752 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:46,753 INFO L467 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 [2019-02-27 13:00:46,768 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:46,769 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:46,771 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:46,772 INFO L467 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 [2019-02-27 13:00:46,790 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:46,791 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:46,793 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:46,794 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:46,795 INFO L467 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 [2019-02-27 13:00:46,799 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:46,829 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:46,883 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:46,896 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:46,907 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:46,930 INFO L301 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. [2019-02-27 13:00:46,930 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:00:46,938 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:46,938 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_122|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_122| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:46,939 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:46,998 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,000 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,001 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,002 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,004 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,005 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,007 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,008 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,009 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,011 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,012 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,013 INFO L467 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 [2019-02-27 13:00:47,016 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:47,062 INFO L301 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. [2019-02-27 13:00:47,062 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:00:49,079 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:49,080 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_123|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_123| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_123| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_123| ULTIMATE.start_main_p3)))) [2019-02-27 13:00:49,080 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:49,416 WARN L181 SmtUtils]: Spent 135.00 ms on a formula simplification that was a NOOP. DAG size: 25 [2019-02-27 13:00:49,490 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,491 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,492 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,493 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,494 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,496 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,497 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,498 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,500 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,501 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,502 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,503 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:00:49,504 INFO L467 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 [2019-02-27 13:00:49,508 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:49,555 INFO L301 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. [2019-02-27 13:00:49,555 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:00:51,566 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:51,566 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_124|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_124| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_124| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_124| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_124| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_124| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_124| ULTIMATE.start_main_p5) 1))) [2019-02-27 13:00:51,566 WARN L399 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) (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:00:51,635 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {5521#(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_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:51,638 INFO L273 TraceCheckUtils]: 1: Hoare triple {5521#(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_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5525#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:51,641 INFO L273 TraceCheckUtils]: 2: Hoare triple {5525#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:00:51,642 INFO L273 TraceCheckUtils]: 3: Hoare triple {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:00:51,642 INFO L273 TraceCheckUtils]: 4: Hoare triple {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2019-02-27 13:00:51,643 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:51,643 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:51,683 INFO L273 TraceCheckUtils]: 4: Hoare triple {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2019-02-27 13:00:51,684 INFO L273 TraceCheckUtils]: 3: Hoare triple {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:51,685 INFO L273 TraceCheckUtils]: 2: Hoare triple {5543#(<= (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]; {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:51,686 INFO L273 TraceCheckUtils]: 1: Hoare triple {5547#(<= (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]; {5543#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:00:51,689 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {5547#(<= (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 [2019-02-27 13:00:51,689 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:51,709 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:00:51,709 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:00:51,709 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:00:51,709 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:00:51,709 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:51,709 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:00:51,725 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:51,725 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:00:51,725 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:00:51,725 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:00:51,725 INFO L87 Difference]: Start difference. First operand 38 states and 132 transitions. Second operand 8 states. [2019-02-27 13:00:53,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:53,254 INFO L93 Difference]: Finished difference Result 66 states and 183 transitions. [2019-02-27 13:00:53,254 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:00:53,255 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:00:53,255 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:53,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:53,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2019-02-27 13:00:53,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:00:53,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2019-02-27 13:00:53,256 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2019-02-27 13:00:53,357 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:53,359 INFO L225 Difference]: With dead ends: 66 [2019-02-27 13:00:53,359 INFO L226 Difference]: Without dead ends: 65 [2019-02-27 13:00:53,359 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:00:53,360 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2019-02-27 13:00:53,676 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 41. [2019-02-27 13:00:53,676 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:53,676 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 41 states. [2019-02-27 13:00:53,676 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 41 states. [2019-02-27 13:00:53,676 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 41 states. [2019-02-27 13:00:53,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:53,678 INFO L93 Difference]: Finished difference Result 65 states and 181 transitions. [2019-02-27 13:00:53,679 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 181 transitions. [2019-02-27 13:00:53,679 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:53,679 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:53,679 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 65 states. [2019-02-27 13:00:53,679 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 65 states. [2019-02-27 13:00:53,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:53,681 INFO L93 Difference]: Finished difference Result 65 states and 181 transitions. [2019-02-27 13:00:53,681 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 181 transitions. [2019-02-27 13:00:53,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:53,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:53,681 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:53,681 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:53,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2019-02-27 13:00:53,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 150 transitions. [2019-02-27 13:00:53,682 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 150 transitions. Word has length 5 [2019-02-27 13:00:53,682 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:53,682 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 150 transitions. [2019-02-27 13:00:53,682 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:00:53,682 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 150 transitions. [2019-02-27 13:00:53,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:00:53,683 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:53,683 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:00:53,683 INFO L423 AbstractCegarLoop]: === Iteration 26 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:53,683 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:53,683 INFO L82 PathProgramCache]: Analyzing trace with hash 29231070, now seen corresponding path program 1 times [2019-02-27 13:00:53,684 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:53,684 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:53,684 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:53,684 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:53,685 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:53,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:53,993 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {5839#(and (<= (+ ULTIMATE.start_main_p1 4) ULTIMATE.start_main_p5) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:00:53,994 INFO L273 TraceCheckUtils]: 1: Hoare triple {5839#(and (<= (+ ULTIMATE.start_main_p1 4) ULTIMATE.start_main_p5) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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]; {5840#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:00:53,995 INFO L273 TraceCheckUtils]: 2: Hoare triple {5840#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5841#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:00:53,996 INFO L273 TraceCheckUtils]: 3: Hoare triple {5841#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5842#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:53,997 INFO L273 TraceCheckUtils]: 4: Hoare triple {5842#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2019-02-27 13:00:53,997 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:53,998 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:53,998 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:53,998 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:00:53,998 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [20], [23] [2019-02-27 13:00:53,999 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:54,000 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:54,007 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:54,007 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:00:54,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:54,008 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:54,008 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:54,008 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 [2019-02-27 13:00:54,017 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:54,018 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:54,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:54,022 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:00:54,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:54,026 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:54,050 INFO L467 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 [2019-02-27 13:00:54,058 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,059 INFO L467 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 [2019-02-27 13:00:54,069 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,071 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,072 INFO L467 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 [2019-02-27 13:00:54,086 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,087 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,088 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,088 INFO L467 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 [2019-02-27 13:00:54,113 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,115 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,116 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,117 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,118 INFO L467 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 [2019-02-27 13:00:54,122 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:54,151 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:54,167 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:54,180 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:54,189 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:54,212 INFO L301 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. [2019-02-27 13:00:54,213 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:00:54,220 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:54,221 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_127|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store (store (store (store (store |v_#memory_int_127| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:54,221 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:54,278 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,279 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,280 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,282 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,283 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,284 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,285 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,286 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,288 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,289 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,290 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:54,291 INFO L467 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 [2019-02-27 13:00:54,296 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:54,341 INFO L301 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. [2019-02-27 13:00:54,342 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:00:56,389 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:56,389 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_128|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_128| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (= (select |v_#memory_int_128| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_128| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_128| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_128| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_128| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:56,390 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:56,501 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,503 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,504 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,506 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,507 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,509 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,510 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,511 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,513 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,514 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,515 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,516 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:00:56,517 INFO L467 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 [2019-02-27 13:00:56,521 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:56,569 INFO L301 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. [2019-02-27 13:00:56,569 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:00:56,578 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:56,578 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_129|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_129| ULTIMATE.start_main_p1))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_129| ULTIMATE.start_main_p2) 0) (= 1 (select |v_#memory_int_129| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_129| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_129| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_129| ULTIMATE.start_main_p4) 0))) [2019-02-27 13:00:56,578 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:56,664 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,665 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,667 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,668 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,669 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,671 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,672 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,673 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,675 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,676 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,677 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,679 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:56,680 INFO L467 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 66 [2019-02-27 13:00:56,683 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:56,728 INFO L301 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. [2019-02-27 13:00:56,728 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:00:56,741 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:56,742 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_130|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_130| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_130| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_130| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_130| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:00:56,742 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:00:56,794 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {5846#(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_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:56,797 INFO L273 TraceCheckUtils]: 1: Hoare triple {5846#(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_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5850#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:56,799 INFO L273 TraceCheckUtils]: 2: Hoare triple {5850#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5854#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:00:56,805 INFO L273 TraceCheckUtils]: 3: Hoare triple {5854#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5858#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:00:56,809 INFO L273 TraceCheckUtils]: 4: Hoare triple {5858#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2019-02-27 13:00:56,810 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:56,810 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:56,868 INFO L273 TraceCheckUtils]: 4: Hoare triple {5862#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2019-02-27 13:00:56,869 INFO L273 TraceCheckUtils]: 3: Hoare triple {5866#(<= 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]; {5862#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:56,871 INFO L273 TraceCheckUtils]: 2: Hoare triple {5870#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5866#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:56,872 INFO L273 TraceCheckUtils]: 1: Hoare triple {5874#(<= 0 (select (store (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 (+ (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) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5870#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:56,875 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {5874#(<= 0 (select (store (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 (+ (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) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:00:56,875 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:56,894 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:00:56,895 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:00:56,895 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:00:56,895 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:00:56,895 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:56,895 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:00:56,917 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:56,917 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:00:56,917 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:00:56,917 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:00:56,917 INFO L87 Difference]: Start difference. First operand 41 states and 150 transitions. Second operand 10 states. [2019-02-27 13:00:58,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:58,593 INFO L93 Difference]: Finished difference Result 93 states and 253 transitions. [2019-02-27 13:00:58,593 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 13:00:58,593 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:00:58,593 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:00:58,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:00:58,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2019-02-27 13:00:58,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:00:58,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2019-02-27 13:00:58,594 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2019-02-27 13:00:58,793 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:58,795 INFO L225 Difference]: With dead ends: 93 [2019-02-27 13:00:58,795 INFO L226 Difference]: Without dead ends: 92 [2019-02-27 13:00:58,795 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:00:58,796 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2019-02-27 13:00:59,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 48. [2019-02-27 13:00:59,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:00:59,183 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 48 states. [2019-02-27 13:00:59,183 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 48 states. [2019-02-27 13:00:59,183 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 48 states. [2019-02-27 13:00:59,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:59,186 INFO L93 Difference]: Finished difference Result 92 states and 251 transitions. [2019-02-27 13:00:59,186 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 251 transitions. [2019-02-27 13:00:59,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:59,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:59,187 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 92 states. [2019-02-27 13:00:59,187 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 92 states. [2019-02-27 13:00:59,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:00:59,189 INFO L93 Difference]: Finished difference Result 92 states and 251 transitions. [2019-02-27 13:00:59,189 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 251 transitions. [2019-02-27 13:00:59,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:00:59,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:00:59,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:00:59,190 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:00:59,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2019-02-27 13:00:59,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 192 transitions. [2019-02-27 13:00:59,191 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 192 transitions. Word has length 5 [2019-02-27 13:00:59,191 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:00:59,191 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 192 transitions. [2019-02-27 13:00:59,191 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:00:59,191 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 192 transitions. [2019-02-27 13:00:59,191 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:00:59,191 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:00:59,191 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:00:59,192 INFO L423 AbstractCegarLoop]: === Iteration 27 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:00:59,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:59,192 INFO L82 PathProgramCache]: Analyzing trace with hash 29248868, now seen corresponding path program 1 times [2019-02-27 13:00:59,192 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:00:59,193 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:59,193 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:59,193 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:00:59,193 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:00:59,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:59,313 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {6270#(and (not (= 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)))} is VALID [2019-02-27 13:00:59,314 INFO L273 TraceCheckUtils]: 1: Hoare triple {6270#(and (not (= 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)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:00:59,315 INFO L273 TraceCheckUtils]: 2: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:00:59,315 INFO L273 TraceCheckUtils]: 3: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:00:59,315 INFO L273 TraceCheckUtils]: 4: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2019-02-27 13:00:59,316 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:59,316 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:59,316 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:00:59,316 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:00:59,316 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [26], [27] [2019-02-27 13:00:59,317 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:00:59,317 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:00:59,333 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:00:59,334 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 13:00:59,334 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:00:59,334 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:00:59,334 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:00:59,334 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 [2019-02-27 13:00:59,342 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:00:59,343 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:00:59,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:59,347 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 5 conjunts are in the unsatisfiable core [2019-02-27 13:00:59,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:00:59,350 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:00:59,368 INFO L467 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 [2019-02-27 13:00:59,374 INFO L467 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 [2019-02-27 13:00:59,384 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-27 13:00:59,396 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:59,397 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-27 13:00:59,409 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:59,416 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:59,417 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-27 13:00:59,421 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:59,436 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:59,446 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:59,458 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:59,469 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:59,487 INFO L301 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. [2019-02-27 13:00:59,487 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2019-02-27 13:00:59,499 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:59,500 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_134|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_134| 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|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:00:59,500 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:00:59,545 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:59,546 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:59,548 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:59,549 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:59,549 INFO L467 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 [2019-02-27 13:00:59,552 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:59,570 INFO L301 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. [2019-02-27 13:00:59,571 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-02-27 13:00:59,579 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:59,579 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_135|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_135| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_135| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_135| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_135| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-27 13:00:59,579 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:00:59,623 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {6275#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:00:59,625 INFO L273 TraceCheckUtils]: 1: Hoare triple {6275#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:00:59,626 INFO L273 TraceCheckUtils]: 2: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:00:59,627 INFO L273 TraceCheckUtils]: 3: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p2] <= 0; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:00:59,627 INFO L273 TraceCheckUtils]: 4: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2019-02-27 13:00:59,627 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:59,628 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:00:59,650 INFO L273 TraceCheckUtils]: 4: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2019-02-27 13:00:59,663 INFO L273 TraceCheckUtils]: 3: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:00:59,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:00:59,664 INFO L273 TraceCheckUtils]: 1: Hoare triple {6299#(<= 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]; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:00:59,665 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {6299#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:00:59,666 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:00:59,684 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-27 13:00:59,685 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2019-02-27 13:00:59,685 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 13:00:59,685 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2019-02-27 13:00:59,685 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:00:59,685 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-27 13:00:59,691 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:00:59,691 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-27 13:00:59,691 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-27 13:00:59,691 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:00:59,692 INFO L87 Difference]: Start difference. First operand 48 states and 192 transitions. Second operand 4 states. [2019-02-27 13:01:00,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:00,340 INFO L93 Difference]: Finished difference Result 56 states and 215 transitions. [2019-02-27 13:01:00,340 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-27 13:01:00,341 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2019-02-27 13:01:00,341 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:01:00,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 13:01:00,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2019-02-27 13:01:00,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 13:01:00,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2019-02-27 13:01:00,342 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 25 transitions. [2019-02-27 13:01:00,364 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:00,366 INFO L225 Difference]: With dead ends: 56 [2019-02-27 13:01:00,366 INFO L226 Difference]: Without dead ends: 55 [2019-02-27 13:01:00,366 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:01:00,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2019-02-27 13:01:00,825 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 52. [2019-02-27 13:01:00,825 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:01:00,825 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 52 states. [2019-02-27 13:01:00,825 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 52 states. [2019-02-27 13:01:00,826 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 52 states. [2019-02-27 13:01:00,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:00,828 INFO L93 Difference]: Finished difference Result 55 states and 213 transitions. [2019-02-27 13:01:00,828 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 213 transitions. [2019-02-27 13:01:00,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:00,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:00,829 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 55 states. [2019-02-27 13:01:00,829 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 55 states. [2019-02-27 13:01:00,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:00,830 INFO L93 Difference]: Finished difference Result 55 states and 213 transitions. [2019-02-27 13:01:00,830 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 213 transitions. [2019-02-27 13:01:00,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:00,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:00,830 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:01:00,830 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:01:00,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2019-02-27 13:01:00,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 211 transitions. [2019-02-27 13:01:00,832 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 211 transitions. Word has length 5 [2019-02-27 13:01:00,832 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:01:00,832 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 211 transitions. [2019-02-27 13:01:00,832 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-27 13:01:00,832 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 211 transitions. [2019-02-27 13:01:00,832 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:01:00,832 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:01:00,832 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:01:00,832 INFO L423 AbstractCegarLoop]: === Iteration 28 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:01:00,833 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:00,833 INFO L82 PathProgramCache]: Analyzing trace with hash 29235350, now seen corresponding path program 1 times [2019-02-27 13:01:00,833 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:01:00,834 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:00,834 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:00,834 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:00,834 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:01:00,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:00,912 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {6586#(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 [2019-02-27 13:01:00,913 INFO L273 TraceCheckUtils]: 1: Hoare triple {6586#(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]; {6587#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:00,914 INFO L273 TraceCheckUtils]: 2: Hoare triple {6587#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:01:00,914 INFO L273 TraceCheckUtils]: 3: Hoare triple {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:01:00,915 INFO L273 TraceCheckUtils]: 4: Hoare triple {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2019-02-27 13:01:00,915 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:00,916 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:00,916 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:01:00,916 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:01:00,916 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [24], [25] [2019-02-27 13:01:00,918 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:01:00,918 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:01:00,928 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:01:00,929 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:01:00,929 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:00,929 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:01:00,930 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:00,930 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 [2019-02-27 13:01:00,938 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:00,939 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:01:00,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:00,943 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 13:01:00,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:00,952 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:01:00,975 INFO L467 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 [2019-02-27 13:01:00,983 INFO L467 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 [2019-02-27 13:01:00,996 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:00,997 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:01:01,012 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,013 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,014 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:01:01,030 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,036 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,037 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,038 INFO L467 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 [2019-02-27 13:01:01,042 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:01,064 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:01,078 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:01,089 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:01,101 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:01,123 INFO L301 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. [2019-02-27 13:01:01,124 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-27 13:01:01,137 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:01,138 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_137|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_137| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:01,138 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:01,204 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,206 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,207 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,208 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,209 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,211 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,212 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:01,213 INFO L467 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 [2019-02-27 13:01:01,245 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:01,288 INFO L301 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. [2019-02-27 13:01:01,288 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-27 13:01:03,318 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:03,318 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_138|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_138| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_138| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p4)))) [2019-02-27 13:01:03,319 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:03,379 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:03,380 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:03,381 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:03,383 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:03,384 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:03,385 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:03,386 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:03,387 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:03,390 INFO L467 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 45 [2019-02-27 13:01:03,394 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:03,426 INFO L301 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. [2019-02-27 13:01:03,426 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-27 13:01:03,437 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:03,437 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_139|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_139| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_139| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_139| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_139| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (store |v_#memory_int_139| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:01:03,437 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:03,495 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {6592#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:01:03,497 INFO L273 TraceCheckUtils]: 1: Hoare triple {6592#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6596#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:01:03,499 INFO L273 TraceCheckUtils]: 2: Hoare triple {6596#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:01:03,499 INFO L273 TraceCheckUtils]: 3: Hoare triple {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:01:03,500 INFO L273 TraceCheckUtils]: 4: Hoare triple {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2019-02-27 13:01:03,500 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:03,501 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:01:03,535 INFO L273 TraceCheckUtils]: 4: Hoare triple {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2019-02-27 13:01:03,536 INFO L273 TraceCheckUtils]: 3: Hoare triple {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:03,537 INFO L273 TraceCheckUtils]: 2: Hoare triple {6614#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:03,538 INFO L273 TraceCheckUtils]: 1: Hoare triple {6618#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6614#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:01:03,540 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {6618#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:01:03,540 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:03,561 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:01:03,561 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:01:03,561 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:01:03,561 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:03,561 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:01:03,561 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:01:03,579 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:03,579 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:01:03,579 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:01:03,580 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:01:03,580 INFO L87 Difference]: Start difference. First operand 52 states and 211 transitions. Second operand 8 states. [2019-02-27 13:01:05,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:05,610 INFO L93 Difference]: Finished difference Result 85 states and 266 transitions. [2019-02-27 13:01:05,610 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:01:05,611 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:05,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:01:05,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:05,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-27 13:01:05,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:05,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-27 13:01:05,612 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2019-02-27 13:01:05,704 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:05,706 INFO L225 Difference]: With dead ends: 85 [2019-02-27 13:01:05,706 INFO L226 Difference]: Without dead ends: 84 [2019-02-27 13:01:05,706 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-27 13:01:05,707 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2019-02-27 13:01:06,226 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 54. [2019-02-27 13:01:06,226 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:01:06,226 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 54 states. [2019-02-27 13:01:06,226 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 54 states. [2019-02-27 13:01:06,226 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 54 states. [2019-02-27 13:01:06,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:06,228 INFO L93 Difference]: Finished difference Result 84 states and 264 transitions. [2019-02-27 13:01:06,228 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 264 transitions. [2019-02-27 13:01:06,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:06,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:06,228 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 84 states. [2019-02-27 13:01:06,228 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 84 states. [2019-02-27 13:01:06,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:06,230 INFO L93 Difference]: Finished difference Result 84 states and 264 transitions. [2019-02-27 13:01:06,230 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 264 transitions. [2019-02-27 13:01:06,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:06,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:06,230 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:01:06,230 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:01:06,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2019-02-27 13:01:06,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 223 transitions. [2019-02-27 13:01:06,232 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 223 transitions. Word has length 5 [2019-02-27 13:01:06,232 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:01:06,232 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 223 transitions. [2019-02-27 13:01:06,232 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:01:06,232 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 223 transitions. [2019-02-27 13:01:06,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:01:06,233 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:01:06,233 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:01:06,233 INFO L423 AbstractCegarLoop]: === Iteration 29 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:01:06,233 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:06,233 INFO L82 PathProgramCache]: Analyzing trace with hash 29235038, now seen corresponding path program 1 times [2019-02-27 13:01:06,234 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:01:06,234 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:06,234 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:06,234 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:06,235 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:01:06,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:06,511 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {7003#(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)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:01:06,512 INFO L273 TraceCheckUtils]: 1: Hoare triple {7003#(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)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7004#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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 [2019-02-27 13:01:06,513 INFO L273 TraceCheckUtils]: 2: Hoare triple {7004#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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]; {7005#(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_p3 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:01:06,513 INFO L273 TraceCheckUtils]: 3: Hoare triple {7005#(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_p3 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7006#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:01:06,515 INFO L273 TraceCheckUtils]: 4: Hoare triple {7006#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2019-02-27 13:01:06,515 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:06,516 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:06,516 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:01:06,516 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:01:06,516 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [20], [23] [2019-02-27 13:01:06,519 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:01:06,519 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:01:06,535 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:01:06,535 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:01:06,535 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:06,535 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:01:06,535 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:06,536 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:01:06,544 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:06,545 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:01:06,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:06,549 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:01:06,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:06,553 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:01:06,585 INFO L467 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 [2019-02-27 13:01:06,597 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,597 INFO L467 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 [2019-02-27 13:01:06,607 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,609 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,609 INFO L467 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 [2019-02-27 13:01:06,623 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,624 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,625 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,626 INFO L467 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 [2019-02-27 13:01:06,644 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,646 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,647 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,649 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,650 INFO L467 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 [2019-02-27 13:01:06,653 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:06,684 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:06,700 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:06,714 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:06,725 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:06,760 INFO L301 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. [2019-02-27 13:01:06,760 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:01:06,768 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:06,768 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_142|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_142| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:06,768 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:06,826 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,827 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,828 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,830 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,831 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,832 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,833 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,834 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,836 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,837 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,838 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,839 INFO L467 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 [2019-02-27 13:01:06,842 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:06,884 INFO L301 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. [2019-02-27 13:01:06,884 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:01:06,892 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:06,893 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_143|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_143| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_143| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (= 0 (select |v_#memory_int_143| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_143| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2019-02-27 13:01:06,893 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:01:06,980 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,981 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,982 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,983 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,984 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,986 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,987 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,988 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,990 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,991 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,992 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,993 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:06,994 INFO L467 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 66 [2019-02-27 13:01:06,998 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:07,042 INFO L301 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. [2019-02-27 13:01:07,042 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:01:07,059 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:07,060 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_144|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_144| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_144| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_144| ULTIMATE.start_main_p1) 0) (= 1 (select |v_#memory_int_144| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:01:07,060 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< 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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:01:07,118 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:07,119 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:07,121 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:07,122 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:07,123 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:07,125 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:07,126 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:07,127 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:07,129 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:07,130 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:07,131 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:07,132 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:01:07,133 INFO L467 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 68 [2019-02-27 13:01:07,136 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:07,184 INFO L301 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. [2019-02-27 13:01:07,184 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:01:09,272 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:09,272 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_145|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_145| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_145| ULTIMATE.start_main_p2) 1)) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 1 (select |v_#memory_int_145| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_145| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-02-27 13:01:09,272 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:01:09,378 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {7010#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:01:09,381 INFO L273 TraceCheckUtils]: 1: Hoare triple {7010#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7014#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:01:09,384 INFO L273 TraceCheckUtils]: 2: Hoare triple {7014#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7018#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:01:09,391 INFO L273 TraceCheckUtils]: 3: Hoare triple {7018#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7022#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 13:01:09,391 INFO L273 TraceCheckUtils]: 4: Hoare triple {7022#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2019-02-27 13:01:09,392 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:09,392 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:01:09,465 INFO L273 TraceCheckUtils]: 4: Hoare triple {7026#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2019-02-27 13:01:09,466 INFO L273 TraceCheckUtils]: 3: Hoare triple {7030#(<= 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]; {7026#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:09,468 INFO L273 TraceCheckUtils]: 2: Hoare triple {7034#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7030#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:09,470 INFO L273 TraceCheckUtils]: 1: Hoare triple {7038#(<= 0 (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7034#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:09,472 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {7038#(<= 0 (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:09,473 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:09,494 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:01:09,494 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:01:09,494 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:01:09,495 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:01:09,495 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:01:09,495 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:01:09,548 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:09,548 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:01:09,548 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:01:09,549 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=114, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:01:09,549 INFO L87 Difference]: Start difference. First operand 54 states and 223 transitions. Second operand 10 states. [2019-02-27 13:01:11,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:11,894 INFO L93 Difference]: Finished difference Result 96 states and 303 transitions. [2019-02-27 13:01:11,894 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:01:11,894 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:01:11,894 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:01:11,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:01:11,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2019-02-27 13:01:11,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:01:11,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2019-02-27 13:01:11,895 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 71 transitions. [2019-02-27 13:01:12,156 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:12,157 INFO L225 Difference]: With dead ends: 96 [2019-02-27 13:01:12,157 INFO L226 Difference]: Without dead ends: 94 [2019-02-27 13:01:12,158 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=101, Invalid=171, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:01:12,158 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2019-02-27 13:01:12,834 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 61. [2019-02-27 13:01:12,834 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:01:12,834 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand 61 states. [2019-02-27 13:01:12,834 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 61 states. [2019-02-27 13:01:12,834 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 61 states. [2019-02-27 13:01:12,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:12,837 INFO L93 Difference]: Finished difference Result 94 states and 300 transitions. [2019-02-27 13:01:12,837 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 300 transitions. [2019-02-27 13:01:12,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:12,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:12,838 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 94 states. [2019-02-27 13:01:12,838 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 94 states. [2019-02-27 13:01:12,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:12,840 INFO L93 Difference]: Finished difference Result 94 states and 300 transitions. [2019-02-27 13:01:12,840 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 300 transitions. [2019-02-27 13:01:12,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:12,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:12,841 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:01:12,841 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:01:12,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2019-02-27 13:01:12,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 265 transitions. [2019-02-27 13:01:12,843 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 265 transitions. Word has length 5 [2019-02-27 13:01:12,843 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:01:12,843 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 265 transitions. [2019-02-27 13:01:12,843 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:01:12,843 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 265 transitions. [2019-02-27 13:01:12,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:01:12,844 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:01:12,844 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:01:12,844 INFO L423 AbstractCegarLoop]: === Iteration 30 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:01:12,845 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:12,845 INFO L82 PathProgramCache]: Analyzing trace with hash 29239194, now seen corresponding path program 1 times [2019-02-27 13:01:12,845 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:01:12,845 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:12,846 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:12,846 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:12,846 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:01:12,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:13,107 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {7477#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:01:13,108 INFO L273 TraceCheckUtils]: 1: Hoare triple {7477#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 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]; {7478#(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 [2019-02-27 13:01:13,109 INFO L273 TraceCheckUtils]: 2: Hoare triple {7478#(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]; {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:13,110 INFO L273 TraceCheckUtils]: 3: Hoare triple {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:13,110 INFO L273 TraceCheckUtils]: 4: Hoare triple {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2019-02-27 13:01:13,111 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:13,111 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:13,111 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:01:13,111 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:01:13,112 INFO L207 CegarAbsIntRunner]: [0], [14], [20], [24], [25] [2019-02-27 13:01:13,114 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:01:13,114 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:01:13,124 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:01:13,124 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:01:13,124 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:13,124 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:01:13,125 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:13,125 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:01:13,133 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:13,134 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:01:13,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:13,138 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 13:01:13,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:13,141 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:01:13,159 INFO L467 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 [2019-02-27 13:01:13,176 INFO L467 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 [2019-02-27 13:01:13,188 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,189 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:01:13,213 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,215 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,215 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:01:13,230 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,234 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,236 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,237 INFO L467 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 [2019-02-27 13:01:13,240 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:13,262 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:13,274 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:13,285 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:13,297 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:13,317 INFO L301 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. [2019-02-27 13:01:13,318 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-27 13:01:13,329 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:13,330 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_149|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_149| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:13,330 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:13,387 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,388 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,389 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,391 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,392 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,393 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,394 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:13,395 INFO L467 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 [2019-02-27 13:01:13,398 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:13,429 INFO L301 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. [2019-02-27 13:01:13,429 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:01:13,862 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:13,863 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_150|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_150| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_150| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_150| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_150| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_150| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2019-02-27 13:01:13,863 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:13,980 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:14,004 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:14,028 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:14,056 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:14,082 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:14,103 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:14,107 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:14,108 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:01:14,108 INFO L292 Elim1Store]: Index analysis took 154 ms [2019-02-27 13:01:14,109 INFO L467 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 [2019-02-27 13:01:14,111 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:14,145 INFO L301 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. [2019-02-27 13:01:14,145 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-27 13:01:14,159 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:14,159 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_151|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_151| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_151| ULTIMATE.start_main_p4)) (= 0 .cse0) (= (select |v_#memory_int_151| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_151| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_151| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:01:14,159 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:14,207 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {7483#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:01:14,209 INFO L273 TraceCheckUtils]: 1: Hoare triple {7483#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7487#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:01:14,212 INFO L273 TraceCheckUtils]: 2: Hoare triple {7487#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:01:14,213 INFO L273 TraceCheckUtils]: 3: Hoare triple {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:01:14,214 INFO L273 TraceCheckUtils]: 4: Hoare triple {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2019-02-27 13:01:14,215 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:14,215 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:01:14,258 INFO L273 TraceCheckUtils]: 4: Hoare triple {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2019-02-27 13:01:14,258 INFO L273 TraceCheckUtils]: 3: Hoare triple {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:14,260 INFO L273 TraceCheckUtils]: 2: Hoare triple {7505#(<= (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]; {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:14,261 INFO L273 TraceCheckUtils]: 1: Hoare triple {7509#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7505#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:14,263 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {7509#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:14,264 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:14,284 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:01:14,284 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:01:14,284 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:01:14,285 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:14,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:01:14,285 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:01:14,300 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:14,300 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:01:14,300 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:01:14,301 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:01:14,301 INFO L87 Difference]: Start difference. First operand 61 states and 265 transitions. Second operand 8 states. [2019-02-27 13:01:15,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:15,579 INFO L93 Difference]: Finished difference Result 82 states and 289 transitions. [2019-02-27 13:01:15,579 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:01:15,579 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:15,579 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:01:15,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:15,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2019-02-27 13:01:15,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:15,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2019-02-27 13:01:15,581 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 55 transitions. [2019-02-27 13:01:15,680 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:15,682 INFO L225 Difference]: With dead ends: 82 [2019-02-27 13:01:15,682 INFO L226 Difference]: Without dead ends: 81 [2019-02-27 13:01:15,682 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:01:15,682 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2019-02-27 13:01:16,377 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 61. [2019-02-27 13:01:16,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:01:16,378 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 61 states. [2019-02-27 13:01:16,378 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 61 states. [2019-02-27 13:01:16,378 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 61 states. [2019-02-27 13:01:16,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:16,381 INFO L93 Difference]: Finished difference Result 81 states and 287 transitions. [2019-02-27 13:01:16,381 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 287 transitions. [2019-02-27 13:01:16,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:16,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:16,382 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 81 states. [2019-02-27 13:01:16,382 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 81 states. [2019-02-27 13:01:16,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:16,384 INFO L93 Difference]: Finished difference Result 81 states and 287 transitions. [2019-02-27 13:01:16,384 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 287 transitions. [2019-02-27 13:01:16,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:16,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:16,384 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:01:16,384 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:01:16,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2019-02-27 13:01:16,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 265 transitions. [2019-02-27 13:01:16,385 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 265 transitions. Word has length 5 [2019-02-27 13:01:16,386 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:01:16,386 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 265 transitions. [2019-02-27 13:01:16,386 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:01:16,386 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 265 transitions. [2019-02-27 13:01:16,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:01:16,386 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:01:16,386 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:01:16,386 INFO L423 AbstractCegarLoop]: === Iteration 31 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:01:16,387 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:16,387 INFO L82 PathProgramCache]: Analyzing trace with hash 28818276, now seen corresponding path program 1 times [2019-02-27 13:01:16,387 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:01:16,387 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:16,387 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:16,387 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:16,387 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:01:16,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:16,548 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {7906#(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 [2019-02-27 13:01:16,549 INFO L273 TraceCheckUtils]: 1: Hoare triple {7906#(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]; {7907#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:16,550 INFO L273 TraceCheckUtils]: 2: Hoare triple {7907#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:16,551 INFO L273 TraceCheckUtils]: 3: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:16,551 INFO L273 TraceCheckUtils]: 4: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2019-02-27 13:01:16,552 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:16,552 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:16,552 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:01:16,552 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:01:16,552 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [24], [25] [2019-02-27 13:01:16,553 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:01:16,553 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:01:16,563 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:01:16,564 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:01:16,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:16,564 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:01:16,564 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:16,564 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:01:16,576 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:16,576 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:01:16,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:16,583 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:01:16,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:16,589 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:01:16,625 INFO L467 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 [2019-02-27 13:01:16,637 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,637 INFO L467 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 [2019-02-27 13:01:16,655 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,657 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,658 INFO L467 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 [2019-02-27 13:01:16,690 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,692 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,694 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,695 INFO L467 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 [2019-02-27 13:01:16,733 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,735 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,737 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,739 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,740 INFO L467 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 [2019-02-27 13:01:16,747 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:16,795 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:16,817 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:16,828 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:16,838 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:16,861 INFO L301 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. [2019-02-27 13:01:16,862 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-27 13:01:16,874 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:16,875 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_154|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_154| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:01:16,875 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:01:16,930 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,931 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,932 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,934 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,935 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,936 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,938 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,939 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,940 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,942 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,943 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:16,944 INFO L467 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 [2019-02-27 13:01:16,947 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:16,992 INFO L301 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. [2019-02-27 13:01:16,992 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:01:17,053 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:17,053 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_155|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_155| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_155| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_155| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_155| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_155| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_155| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:01:17,053 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:17,112 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,113 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,114 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,115 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,117 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,118 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,119 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,120 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,122 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,123 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,124 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,125 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:17,126 INFO L467 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 66 [2019-02-27 13:01:17,130 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:17,178 INFO L301 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. [2019-02-27 13:01:17,178 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:01:17,243 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:17,243 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_156|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_156| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_156| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_156| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_156| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p3)))) [2019-02-27 13:01:17,243 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:17,308 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {7912#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:01:17,311 INFO L273 TraceCheckUtils]: 1: Hoare triple {7912#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7916#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:01:17,316 INFO L273 TraceCheckUtils]: 2: Hoare triple {7916#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:01:17,317 INFO L273 TraceCheckUtils]: 3: Hoare triple {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:01:17,317 INFO L273 TraceCheckUtils]: 4: Hoare triple {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2019-02-27 13:01:17,318 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:17,318 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:01:17,344 INFO L273 TraceCheckUtils]: 4: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2019-02-27 13:01:17,344 INFO L273 TraceCheckUtils]: 3: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:17,345 INFO L273 TraceCheckUtils]: 2: Hoare triple {7933#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:17,346 INFO L273 TraceCheckUtils]: 1: Hoare triple {7937#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7933#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:01:17,349 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {7937#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:01:17,349 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:17,368 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:01:17,368 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-27 13:01:17,368 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:01:17,368 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:17,368 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:01:17,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:01:17,386 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:17,386 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:01:17,386 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:01:17,387 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-27 13:01:17,387 INFO L87 Difference]: Start difference. First operand 61 states and 265 transitions. Second operand 8 states. [2019-02-27 13:01:18,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:18,789 INFO L93 Difference]: Finished difference Result 87 states and 319 transitions. [2019-02-27 13:01:18,789 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:01:18,789 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:18,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:01:18,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:18,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2019-02-27 13:01:18,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:18,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2019-02-27 13:01:18,790 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 63 transitions. [2019-02-27 13:01:18,891 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:18,893 INFO L225 Difference]: With dead ends: 87 [2019-02-27 13:01:18,893 INFO L226 Difference]: Without dead ends: 86 [2019-02-27 13:01:18,893 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:01:18,893 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2019-02-27 13:01:19,590 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 67. [2019-02-27 13:01:19,590 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:01:19,591 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 67 states. [2019-02-27 13:01:19,591 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 67 states. [2019-02-27 13:01:19,591 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 67 states. [2019-02-27 13:01:19,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:19,594 INFO L93 Difference]: Finished difference Result 86 states and 317 transitions. [2019-02-27 13:01:19,594 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 317 transitions. [2019-02-27 13:01:19,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:19,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:19,594 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 86 states. [2019-02-27 13:01:19,595 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 86 states. [2019-02-27 13:01:19,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:19,596 INFO L93 Difference]: Finished difference Result 86 states and 317 transitions. [2019-02-27 13:01:19,596 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 317 transitions. [2019-02-27 13:01:19,597 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:19,597 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:19,597 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:01:19,597 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:01:19,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2019-02-27 13:01:19,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 302 transitions. [2019-02-27 13:01:19,598 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 302 transitions. Word has length 5 [2019-02-27 13:01:19,599 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:01:19,599 INFO L480 AbstractCegarLoop]: Abstraction has 67 states and 302 transitions. [2019-02-27 13:01:19,599 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:01:19,599 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 302 transitions. [2019-02-27 13:01:19,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:01:19,599 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:01:19,599 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:01:19,599 INFO L423 AbstractCegarLoop]: === Iteration 32 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:01:19,600 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:19,600 INFO L82 PathProgramCache]: Analyzing trace with hash 28822120, now seen corresponding path program 1 times [2019-02-27 13:01:19,600 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:01:19,600 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:19,601 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:19,601 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:19,601 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:01:19,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:19,747 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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 [2019-02-27 13:01:19,748 INFO L273 TraceCheckUtils]: 1: Hoare triple {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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]; {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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 [2019-02-27 13:01:19,749 INFO L273 TraceCheckUtils]: 2: Hoare triple {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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_p3 := #memory_int[main_p3] + 1]; {8365#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:01:19,749 INFO L273 TraceCheckUtils]: 3: Hoare triple {8365#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {8366#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:19,750 INFO L273 TraceCheckUtils]: 4: Hoare triple {8366#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2019-02-27 13:01:19,750 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:01:19,750 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:19,750 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:01:19,750 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:01:19,751 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [24], [25] [2019-02-27 13:01:19,753 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:01:19,753 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:01:19,762 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:01:19,762 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:01:19,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:19,762 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:01:19,763 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:19,763 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 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:01:19,774 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:19,774 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:01:19,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:19,783 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:01:19,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:19,788 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:01:19,828 INFO L467 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 [2019-02-27 13:01:19,835 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:19,836 INFO L467 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 [2019-02-27 13:01:19,848 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:19,850 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:19,851 INFO L467 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 [2019-02-27 13:01:19,867 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:19,869 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:19,871 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:19,872 INFO L467 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 [2019-02-27 13:01:19,892 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:19,894 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:19,895 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:19,896 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:19,897 INFO L467 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 [2019-02-27 13:01:19,902 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:19,933 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:19,950 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:19,964 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:19,976 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:20,000 INFO L301 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. [2019-02-27 13:01:20,000 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:01:20,009 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:20,009 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_159|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_159| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:20,009 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:20,081 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:20,083 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:20,084 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:20,085 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:20,087 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:20,088 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:20,089 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:20,090 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:20,092 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:20,093 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:20,094 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:20,095 INFO L467 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 [2019-02-27 13:01:20,098 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:20,145 INFO L301 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. [2019-02-27 13:01:20,145 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:01:22,154 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:22,155 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_160|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_160| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_160| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_160| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_160| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_160| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_160| ULTIMATE.start_main_p3) 0))) [2019-02-27 13:01:22,155 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:22,215 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:22,216 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:22,218 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:22,219 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:22,220 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:22,221 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:22,222 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:22,224 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:22,225 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:22,226 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:22,227 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:22,228 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:01:22,229 INFO L467 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 [2019-02-27 13:01:22,232 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:22,278 INFO L301 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. [2019-02-27 13:01:22,278 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:01:22,314 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:22,314 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_161|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_161| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_161| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_161| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_161| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 1 (select |v_#memory_int_161| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2019-02-27 13:01:22,314 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:22,409 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {8370#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:01:22,423 INFO L273 TraceCheckUtils]: 1: Hoare triple {8370#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8374#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:01:22,426 INFO L273 TraceCheckUtils]: 2: Hoare triple {8374#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:01:22,427 INFO L273 TraceCheckUtils]: 3: Hoare triple {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:01:22,427 INFO L273 TraceCheckUtils]: 4: Hoare triple {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2019-02-27 13:01:22,428 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:22,428 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:01:22,466 INFO L273 TraceCheckUtils]: 4: Hoare triple {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2019-02-27 13:01:22,467 INFO L273 TraceCheckUtils]: 3: Hoare triple {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:22,468 INFO L273 TraceCheckUtils]: 2: Hoare triple {8392#(<= (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]; {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:22,469 INFO L273 TraceCheckUtils]: 1: Hoare triple {8396#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8392#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:22,471 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {8396#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:22,472 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:22,492 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:01:22,492 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:01:22,492 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:01:22,492 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:22,492 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:01:22,493 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:01:22,511 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:22,512 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:01:22,512 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:01:22,512 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:01:22,513 INFO L87 Difference]: Start difference. First operand 67 states and 302 transitions. Second operand 8 states. [2019-02-27 13:01:24,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:24,177 INFO L93 Difference]: Finished difference Result 86 states and 334 transitions. [2019-02-27 13:01:24,177 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:01:24,177 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:24,177 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:01:24,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:24,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2019-02-27 13:01:24,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:24,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2019-02-27 13:01:24,178 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2019-02-27 13:01:24,265 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:24,267 INFO L225 Difference]: With dead ends: 86 [2019-02-27 13:01:24,268 INFO L226 Difference]: Without dead ends: 85 [2019-02-27 13:01:24,268 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:01:24,269 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2019-02-27 13:01:24,981 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 69. [2019-02-27 13:01:24,982 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:01:24,982 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand 69 states. [2019-02-27 13:01:24,982 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 69 states. [2019-02-27 13:01:24,983 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 69 states. [2019-02-27 13:01:24,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:24,986 INFO L93 Difference]: Finished difference Result 85 states and 332 transitions. [2019-02-27 13:01:24,986 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 332 transitions. [2019-02-27 13:01:24,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:24,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:24,986 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 85 states. [2019-02-27 13:01:24,986 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 85 states. [2019-02-27 13:01:24,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:24,989 INFO L93 Difference]: Finished difference Result 85 states and 332 transitions. [2019-02-27 13:01:24,989 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 332 transitions. [2019-02-27 13:01:24,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:24,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:24,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:01:24,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:01:24,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2019-02-27 13:01:24,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 314 transitions. [2019-02-27 13:01:24,992 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 314 transitions. Word has length 5 [2019-02-27 13:01:24,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:01:24,992 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 314 transitions. [2019-02-27 13:01:24,992 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:01:24,992 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 314 transitions. [2019-02-27 13:01:24,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:01:24,993 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:01:24,993 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:01:24,993 INFO L423 AbstractCegarLoop]: === Iteration 33 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:01:24,993 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:24,993 INFO L82 PathProgramCache]: Analyzing trace with hash 28947050, now seen corresponding path program 2 times [2019-02-27 13:01:24,993 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:01:24,994 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:24,994 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:24,994 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:24,994 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:01:24,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:25,441 WARN L181 SmtUtils]: Spent 258.00 ms on a formula simplification. DAG size of input: 15 DAG size of output: 9 [2019-02-27 13:01:25,652 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {8829#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:01:25,653 INFO L273 TraceCheckUtils]: 1: Hoare triple {8829#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8830#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:01:25,654 INFO L273 TraceCheckUtils]: 2: Hoare triple {8830#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (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]; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:25,655 INFO L273 TraceCheckUtils]: 3: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:25,655 INFO L273 TraceCheckUtils]: 4: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2019-02-27 13:01:25,655 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:25,655 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:25,656 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:01:25,656 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:01:25,656 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:01:25,656 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:25,656 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 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:01:25,665 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:01:25,665 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:01:25,670 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2019-02-27 13:01:25,670 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:01:25,670 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 13:01:25,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:25,673 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:01:25,692 INFO L467 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 [2019-02-27 13:01:25,714 INFO L467 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 [2019-02-27 13:01:25,726 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,727 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:01:25,742 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,743 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,744 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:01:25,762 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,768 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,769 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,770 INFO L467 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 [2019-02-27 13:01:25,774 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:25,797 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:25,811 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:25,823 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:25,834 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:25,857 INFO L301 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. [2019-02-27 13:01:25,857 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-27 13:01:25,865 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:25,865 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_164|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_164| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:25,866 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:25,927 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,928 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,930 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,931 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,932 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,934 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,935 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:25,936 INFO L467 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 [2019-02-27 13:01:25,939 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:25,972 INFO L301 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. [2019-02-27 13:01:25,972 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:01:25,978 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:25,978 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_165|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_165| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_165| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_165| ULTIMATE.start_main_p5) 0) (= |#memory_int| (store |v_#memory_int_165| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_165| ULTIMATE.start_main_p3) 0))) [2019-02-27 13:01:25,978 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:26,027 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:26,029 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:26,030 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:26,031 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:26,033 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:26,034 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:26,035 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:26,036 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:26,037 INFO L467 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 47 [2019-02-27 13:01:26,041 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:26,070 INFO L301 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. [2019-02-27 13:01:26,071 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-27 13:01:28,091 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:28,091 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_166|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_166| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_166| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_166| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_166| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (+ (select |v_#memory_int_166| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2019-02-27 13:01:28,091 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:01:28,193 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {8835#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:01:28,195 INFO L273 TraceCheckUtils]: 1: Hoare triple {8835#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8839#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-27 13:01:28,198 INFO L273 TraceCheckUtils]: 2: Hoare triple {8839#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:01:28,198 INFO L273 TraceCheckUtils]: 3: Hoare triple {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:01:28,199 INFO L273 TraceCheckUtils]: 4: Hoare triple {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2019-02-27 13:01:28,199 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:28,200 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:01:28,242 INFO L273 TraceCheckUtils]: 4: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2019-02-27 13:01:28,243 INFO L273 TraceCheckUtils]: 3: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:28,244 INFO L273 TraceCheckUtils]: 2: Hoare triple {8856#(<= (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]; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:28,245 INFO L273 TraceCheckUtils]: 1: Hoare triple {8860#(<= (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_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8856#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:28,247 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {8860#(<= (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_p2) 0)} is VALID [2019-02-27 13:01:28,247 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:28,268 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:01:28,268 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-27 13:01:28,268 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:01:28,268 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:28,268 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:01:28,269 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:01:28,285 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:28,285 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:01:28,286 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:01:28,286 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-27 13:01:28,286 INFO L87 Difference]: Start difference. First operand 69 states and 314 transitions. Second operand 8 states. [2019-02-27 13:01:30,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:30,308 INFO L93 Difference]: Finished difference Result 110 states and 397 transitions. [2019-02-27 13:01:30,309 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 13:01:30,309 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:30,309 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:01:30,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:30,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2019-02-27 13:01:30,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:30,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2019-02-27 13:01:30,310 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 70 transitions. [2019-02-27 13:01:30,409 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:30,412 INFO L225 Difference]: With dead ends: 110 [2019-02-27 13:01:30,413 INFO L226 Difference]: Without dead ends: 107 [2019-02-27 13:01:30,413 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=46, Invalid=64, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:01:30,413 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2019-02-27 13:01:31,304 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 78. [2019-02-27 13:01:31,304 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:01:31,304 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 78 states. [2019-02-27 13:01:31,304 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 78 states. [2019-02-27 13:01:31,305 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 78 states. [2019-02-27 13:01:31,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:31,308 INFO L93 Difference]: Finished difference Result 107 states and 393 transitions. [2019-02-27 13:01:31,308 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 393 transitions. [2019-02-27 13:01:31,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:31,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:31,309 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 107 states. [2019-02-27 13:01:31,309 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 107 states. [2019-02-27 13:01:31,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:31,312 INFO L93 Difference]: Finished difference Result 107 states and 393 transitions. [2019-02-27 13:01:31,312 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 393 transitions. [2019-02-27 13:01:31,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:31,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:31,313 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:01:31,313 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:01:31,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2019-02-27 13:01:31,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 360 transitions. [2019-02-27 13:01:31,315 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 360 transitions. Word has length 5 [2019-02-27 13:01:31,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:01:31,316 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 360 transitions. [2019-02-27 13:01:31,316 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:01:31,316 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 360 transitions. [2019-02-27 13:01:31,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:01:31,316 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:01:31,316 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:01:31,316 INFO L423 AbstractCegarLoop]: === Iteration 34 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:01:31,317 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:31,317 INFO L82 PathProgramCache]: Analyzing trace with hash 28950958, now seen corresponding path program 1 times [2019-02-27 13:01:31,317 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:01:31,317 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:31,318 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:01:31,318 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:31,318 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:01:31,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:31,481 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {9383#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:01:31,482 INFO L273 TraceCheckUtils]: 1: Hoare triple {9383#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:01:31,482 INFO L273 TraceCheckUtils]: 2: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:01:31,483 INFO L273 TraceCheckUtils]: 3: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:01:31,483 INFO L273 TraceCheckUtils]: 4: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2019-02-27 13:01:31,484 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:31,484 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:31,484 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:01:31,485 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:01:31,485 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [26], [27] [2019-02-27 13:01:31,487 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:01:31,487 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:01:31,504 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:01:31,504 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 13:01:31,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:31,505 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:01:31,505 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:31,505 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 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:01:31,513 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:31,514 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:01:31,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:31,518 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 6 conjunts are in the unsatisfiable core [2019-02-27 13:01:31,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:31,522 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:01:31,541 INFO L467 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 [2019-02-27 13:01:31,551 INFO L467 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 [2019-02-27 13:01:31,563 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,564 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:01:31,581 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,582 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,583 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:01:31,601 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,607 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,609 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,610 INFO L467 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 [2019-02-27 13:01:31,614 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:31,637 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:31,650 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:31,661 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:31,672 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:31,693 INFO L301 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. [2019-02-27 13:01:31,693 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-27 13:01:31,704 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:31,704 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_169|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_169| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:31,704 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:31,767 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,768 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,769 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,771 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,772 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,774 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,775 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,776 INFO L467 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 [2019-02-27 13:01:31,784 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:31,815 INFO L301 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. [2019-02-27 13:01:31,815 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-27 13:01:31,875 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:31,876 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_170|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_170| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_170| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_170| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_170| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_170| ULTIMATE.start_main_p5)))) [2019-02-27 13:01:31,876 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:01:31,944 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {9388#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:01:31,947 INFO L273 TraceCheckUtils]: 1: Hoare triple {9388#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:01:31,947 INFO L273 TraceCheckUtils]: 2: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:01:31,949 INFO L273 TraceCheckUtils]: 3: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:01:31,949 INFO L273 TraceCheckUtils]: 4: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2019-02-27 13:01:31,950 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:31,950 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:01:31,983 INFO L273 TraceCheckUtils]: 4: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2019-02-27 13:01:31,983 INFO L273 TraceCheckUtils]: 3: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:01:31,985 INFO L273 TraceCheckUtils]: 2: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:01:31,985 INFO L273 TraceCheckUtils]: 1: Hoare triple {9412#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:01:31,987 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {9412#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:01:31,987 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:32,007 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:01:32,007 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-27 13:01:32,007 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:01:32,007 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2019-02-27 13:01:32,007 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:01:32,008 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-27 13:01:32,024 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:32,024 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-27 13:01:32,024 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-27 13:01:32,024 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:01:32,025 INFO L87 Difference]: Start difference. First operand 78 states and 360 transitions. Second operand 6 states. [2019-02-27 13:01:33,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:33,520 INFO L93 Difference]: Finished difference Result 87 states and 367 transitions. [2019-02-27 13:01:33,520 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-27 13:01:33,520 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2019-02-27 13:01:33,520 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:01:33,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:01:33,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2019-02-27 13:01:33,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:01:33,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2019-02-27 13:01:33,521 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2019-02-27 13:01:33,572 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:33,575 INFO L225 Difference]: With dead ends: 87 [2019-02-27 13:01:33,575 INFO L226 Difference]: Without dead ends: 86 [2019-02-27 13:01:33,575 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-27 13:01:33,575 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2019-02-27 13:01:34,568 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 76. [2019-02-27 13:01:34,569 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:01:34,569 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 76 states. [2019-02-27 13:01:34,569 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 76 states. [2019-02-27 13:01:34,569 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 76 states. [2019-02-27 13:01:34,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:34,572 INFO L93 Difference]: Finished difference Result 86 states and 365 transitions. [2019-02-27 13:01:34,572 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 365 transitions. [2019-02-27 13:01:34,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:34,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:34,573 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 86 states. [2019-02-27 13:01:34,573 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 86 states. [2019-02-27 13:01:34,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:34,575 INFO L93 Difference]: Finished difference Result 86 states and 365 transitions. [2019-02-27 13:01:34,575 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 365 transitions. [2019-02-27 13:01:34,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:34,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:34,576 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:01:34,576 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:01:34,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2019-02-27 13:01:34,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 357 transitions. [2019-02-27 13:01:34,578 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 357 transitions. Word has length 5 [2019-02-27 13:01:34,579 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:01:34,579 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 357 transitions. [2019-02-27 13:01:34,579 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-27 13:01:34,579 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 357 transitions. [2019-02-27 13:01:34,579 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:01:34,579 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:01:34,579 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:01:34,580 INFO L423 AbstractCegarLoop]: === Iteration 35 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:01:34,580 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:34,580 INFO L82 PathProgramCache]: Analyzing trace with hash 29052324, now seen corresponding path program 1 times [2019-02-27 13:01:34,580 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:01:34,581 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:34,581 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:34,581 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:34,581 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:01:34,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:34,730 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {9866#(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 [2019-02-27 13:01:34,731 INFO L273 TraceCheckUtils]: 1: Hoare triple {9866#(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]; {9867#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-27 13:01:34,732 INFO L273 TraceCheckUtils]: 2: Hoare triple {9867#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9868#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:01:34,733 INFO L273 TraceCheckUtils]: 3: Hoare triple {9868#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (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]; {9869#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:34,734 INFO L273 TraceCheckUtils]: 4: Hoare triple {9869#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2019-02-27 13:01:34,734 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:34,734 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:34,734 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:01:34,735 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:01:34,735 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [23] [2019-02-27 13:01:34,736 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:01:34,736 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:01:34,744 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:01:34,744 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:01:34,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:34,745 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:01:34,745 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:34,745 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 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:01:34,755 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:34,755 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:01:34,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:34,760 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:01:34,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:34,765 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:01:34,793 INFO L467 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 [2019-02-27 13:01:34,799 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:34,800 INFO L467 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 [2019-02-27 13:01:34,809 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:34,811 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:34,811 INFO L467 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 [2019-02-27 13:01:34,826 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:34,827 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:34,829 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:34,830 INFO L467 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 [2019-02-27 13:01:34,847 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:34,848 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:34,850 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:34,851 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:34,852 INFO L467 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 [2019-02-27 13:01:34,855 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:34,886 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:34,903 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:34,916 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:34,928 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:34,951 INFO L301 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. [2019-02-27 13:01:34,951 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:01:34,959 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:34,959 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_172|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_172| 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))) [2019-02-27 13:01:34,959 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:35,022 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,023 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,025 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,026 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,065 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,087 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,105 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,111 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,112 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,112 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,113 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,114 INFO L467 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 [2019-02-27 13:01:35,117 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:35,162 INFO L301 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. [2019-02-27 13:01:35,163 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:01:35,179 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:35,180 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_173|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_173| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_173| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-02-27 13:01:35,180 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:01:35,244 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,245 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,246 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,248 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,249 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,250 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,251 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,253 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,254 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,255 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,256 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,257 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:01:35,258 INFO L467 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 [2019-02-27 13:01:35,262 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:35,308 INFO L301 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. [2019-02-27 13:01:35,309 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:01:35,318 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:35,318 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_174|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_174| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_174| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_174| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_174| ULTIMATE.start_main_p3) 1) (= 0 (select |v_#memory_int_174| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_174| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:01:35,318 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:01:35,381 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,383 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,384 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,385 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,387 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,388 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,389 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,391 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,392 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,393 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,395 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,396 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:35,397 INFO L467 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 66 [2019-02-27 13:01:35,400 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:35,450 INFO L301 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. [2019-02-27 13:01:35,450 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:01:37,119 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:37,119 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_175|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_175| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_175| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_175| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_175| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_175| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_175| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:01:37,119 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:01:37,218 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {9873#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:01:37,221 INFO L273 TraceCheckUtils]: 1: Hoare triple {9873#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9877#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:01:37,224 INFO L273 TraceCheckUtils]: 2: Hoare triple {9877#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:01:37,228 INFO L273 TraceCheckUtils]: 3: Hoare triple {9881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:01:37,234 INFO L273 TraceCheckUtils]: 4: Hoare triple {9885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2019-02-27 13:01:37,234 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:37,234 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:01:37,415 INFO L273 TraceCheckUtils]: 4: Hoare triple {9889#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2019-02-27 13:01:37,417 INFO L273 TraceCheckUtils]: 3: Hoare triple {9893#(<= 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]; {9889#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:37,417 INFO L273 TraceCheckUtils]: 2: Hoare triple {9897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:37,419 INFO L273 TraceCheckUtils]: 1: Hoare triple {9901#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:37,420 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {9901#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:37,421 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:37,440 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:01:37,440 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:01:37,440 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:01:37,440 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:01:37,440 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:01:37,441 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:01:37,460 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:37,460 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:01:37,460 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:01:37,461 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:01:37,461 INFO L87 Difference]: Start difference. First operand 76 states and 357 transitions. Second operand 10 states. [2019-02-27 13:01:40,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:40,199 INFO L93 Difference]: Finished difference Result 133 states and 461 transitions. [2019-02-27 13:01:40,200 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 13:01:40,200 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-27 13:01:40,200 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:01:40,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:01:40,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2019-02-27 13:01:40,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:01:40,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2019-02-27 13:01:40,201 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2019-02-27 13:01:40,396 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:40,399 INFO L225 Difference]: With dead ends: 133 [2019-02-27 13:01:40,399 INFO L226 Difference]: Without dead ends: 132 [2019-02-27 13:01:40,399 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:01:40,399 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2019-02-27 13:01:41,293 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 75. [2019-02-27 13:01:41,293 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:01:41,293 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand 75 states. [2019-02-27 13:01:41,293 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 75 states. [2019-02-27 13:01:41,293 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 75 states. [2019-02-27 13:01:41,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:41,298 INFO L93 Difference]: Finished difference Result 132 states and 459 transitions. [2019-02-27 13:01:41,298 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 459 transitions. [2019-02-27 13:01:41,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:41,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:41,299 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 132 states. [2019-02-27 13:01:41,299 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 132 states. [2019-02-27 13:01:41,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:41,302 INFO L93 Difference]: Finished difference Result 132 states and 459 transitions. [2019-02-27 13:01:41,302 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 459 transitions. [2019-02-27 13:01:41,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:41,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:41,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:01:41,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:01:41,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2019-02-27 13:01:41,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 351 transitions. [2019-02-27 13:01:41,305 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 351 transitions. Word has length 5 [2019-02-27 13:01:41,305 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:01:41,305 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 351 transitions. [2019-02-27 13:01:41,305 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:01:41,305 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 351 transitions. [2019-02-27 13:01:41,306 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 13:01:41,306 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:01:41,306 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-27 13:01:41,306 INFO L423 AbstractCegarLoop]: === Iteration 36 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:01:41,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:41,307 INFO L82 PathProgramCache]: Analyzing trace with hash 29056604, now seen corresponding path program 1 times [2019-02-27 13:01:41,307 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:01:41,307 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:41,307 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:41,307 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:41,308 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:01:41,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:41,577 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {10503#(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 [2019-02-27 13:01:41,578 INFO L273 TraceCheckUtils]: 1: Hoare triple {10503#(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]; {10504#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:41,579 INFO L273 TraceCheckUtils]: 2: Hoare triple {10504#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:01:41,579 INFO L273 TraceCheckUtils]: 3: Hoare triple {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:01:41,580 INFO L273 TraceCheckUtils]: 4: Hoare triple {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2019-02-27 13:01:41,580 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:41,580 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:41,581 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:01:41,581 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-27 13:01:41,581 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [24], [25] [2019-02-27 13:01:41,582 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:01:41,582 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:01:41,606 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:01:41,607 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:01:41,607 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:41,607 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:01:41,607 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:41,607 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 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:01:41,617 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:41,617 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:01:41,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:41,621 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 13:01:41,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:41,625 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:01:41,642 INFO L467 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 [2019-02-27 13:01:41,648 INFO L467 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 [2019-02-27 13:01:41,659 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,660 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:01:41,676 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,677 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,678 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:01:41,694 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,699 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,700 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,701 INFO L467 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 [2019-02-27 13:01:41,705 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:41,726 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:41,740 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:41,750 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:41,762 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:41,783 INFO L301 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. [2019-02-27 13:01:41,783 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-27 13:01:41,793 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:41,793 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_179|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_179| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:41,793 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:41,857 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,859 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,860 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,861 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,863 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,864 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,865 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:41,866 INFO L467 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 [2019-02-27 13:01:41,869 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:41,902 INFO L301 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. [2019-02-27 13:01:41,902 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-27 13:01:43,912 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:43,913 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_180|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_180| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_180| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_180| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_180| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_180| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:01:43,913 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:43,971 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:43,976 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:43,977 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:43,978 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:43,979 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:43,980 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:43,981 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:43,982 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:43,983 INFO L467 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 45 [2019-02-27 13:01:43,987 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:44,025 INFO L301 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. [2019-02-27 13:01:44,025 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-27 13:01:44,036 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:44,037 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_181|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_181| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_181| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (select |v_#memory_int_181| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_181| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_181| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2019-02-27 13:01:44,037 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:01:44,092 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {10509#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:01:44,095 INFO L273 TraceCheckUtils]: 1: Hoare triple {10509#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10513#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:01:44,097 INFO L273 TraceCheckUtils]: 2: Hoare triple {10513#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-27 13:01:44,098 INFO L273 TraceCheckUtils]: 3: Hoare triple {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-27 13:01:44,099 INFO L273 TraceCheckUtils]: 4: Hoare triple {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2019-02-27 13:01:44,100 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:44,100 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:01:44,137 INFO L273 TraceCheckUtils]: 4: Hoare triple {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2019-02-27 13:01:44,138 INFO L273 TraceCheckUtils]: 3: Hoare triple {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:44,139 INFO L273 TraceCheckUtils]: 2: Hoare triple {10531#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:44,140 INFO L273 TraceCheckUtils]: 1: Hoare triple {10535#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10531#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:01:44,142 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {10535#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:01:44,142 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:44,160 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:01:44,161 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:01:44,161 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:01:44,161 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:44,161 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:01:44,161 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:01:44,178 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:44,178 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:01:44,178 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:01:44,178 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:01:44,179 INFO L87 Difference]: Start difference. First operand 75 states and 351 transitions. Second operand 8 states. [2019-02-27 13:01:45,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:45,964 INFO L93 Difference]: Finished difference Result 113 states and 411 transitions. [2019-02-27 13:01:45,964 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:01:45,964 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 13:01:45,964 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:01:45,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:45,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-27 13:01:45,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:01:45,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-27 13:01:45,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2019-02-27 13:01:46,062 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:46,065 INFO L225 Difference]: With dead ends: 113 [2019-02-27 13:01:46,065 INFO L226 Difference]: Without dead ends: 112 [2019-02-27 13:01:46,066 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-27 13:01:46,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2019-02-27 13:01:46,937 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 77. [2019-02-27 13:01:46,937 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:01:46,937 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 77 states. [2019-02-27 13:01:46,938 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 77 states. [2019-02-27 13:01:46,938 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 77 states. [2019-02-27 13:01:46,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:46,941 INFO L93 Difference]: Finished difference Result 112 states and 409 transitions. [2019-02-27 13:01:46,941 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 409 transitions. [2019-02-27 13:01:46,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:46,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:46,942 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 112 states. [2019-02-27 13:01:46,942 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 112 states. [2019-02-27 13:01:46,944 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:46,944 INFO L93 Difference]: Finished difference Result 112 states and 409 transitions. [2019-02-27 13:01:46,944 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 409 transitions. [2019-02-27 13:01:46,944 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:46,945 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:46,945 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:01:46,945 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:01:46,945 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-27 13:01:46,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 363 transitions. [2019-02-27 13:01:46,946 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 363 transitions. Word has length 5 [2019-02-27 13:01:46,947 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:01:46,947 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 363 transitions. [2019-02-27 13:01:46,947 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:01:46,947 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 363 transitions. [2019-02-27 13:01:46,947 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:01:46,947 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:01:46,947 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1] [2019-02-27 13:01:46,947 INFO L423 AbstractCegarLoop]: === Iteration 37 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:01:46,948 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:46,948 INFO L82 PathProgramCache]: Analyzing trace with hash 904669396, now seen corresponding path program 2 times [2019-02-27 13:01:46,948 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:01:46,948 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:46,948 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:46,948 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:46,949 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:01:46,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:47,169 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {11073#(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 [2019-02-27 13:01:47,170 INFO L273 TraceCheckUtils]: 1: Hoare triple {11073#(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]; {11073#(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 [2019-02-27 13:01:47,171 INFO L273 TraceCheckUtils]: 2: Hoare triple {11073#(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]; {11074#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-27 13:01:47,172 INFO L273 TraceCheckUtils]: 3: Hoare triple {11074#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11075#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:01:47,172 INFO L273 TraceCheckUtils]: 4: Hoare triple {11075#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (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]; {11076#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:47,173 INFO L273 TraceCheckUtils]: 5: Hoare triple {11076#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2019-02-27 13:01:47,173 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:01:47,173 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:47,173 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:01:47,174 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:01:47,174 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:01:47,174 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:47,174 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 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:01:47,183 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:01:47,183 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:01:47,189 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-27 13:01:47,189 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:01:47,190 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:01:47,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:47,196 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:01:47,224 INFO L467 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 [2019-02-27 13:01:47,231 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,233 INFO L467 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 [2019-02-27 13:01:47,244 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,248 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,248 INFO L467 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 [2019-02-27 13:01:47,262 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,263 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,264 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,264 INFO L467 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 [2019-02-27 13:01:47,286 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,288 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,289 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,290 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,292 INFO L467 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 [2019-02-27 13:01:47,310 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:47,350 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:47,377 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:47,393 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:47,407 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:47,435 INFO L301 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. [2019-02-27 13:01:47,435 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:01:47,443 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:47,443 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_184|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_184| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:01:47,443 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:01:47,602 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,605 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,607 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,609 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,611 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,613 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,615 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,617 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,619 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,621 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,623 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,623 INFO L467 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 [2019-02-27 13:01:47,630 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:47,687 INFO L301 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. [2019-02-27 13:01:47,688 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:01:47,703 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:47,704 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_185|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_185| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_185| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_185| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:01:47,704 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:01:47,770 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,771 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,772 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,773 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,775 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,776 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,777 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,778 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,779 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,781 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,782 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,783 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:47,784 INFO L467 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 66 [2019-02-27 13:01:47,788 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:47,833 INFO L301 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. [2019-02-27 13:01:47,833 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2019-02-27 13:01:49,840 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:49,840 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_186|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_186| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_186| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_186| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_186| ULTIMATE.start_main_p3) 0) (= (+ .cse0 1) 0) (= (store |v_#memory_int_186| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_186| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:01:49,840 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:01:49,917 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,918 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,919 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,920 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,922 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,923 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,924 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,926 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,927 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,928 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,929 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,930 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:49,931 INFO L467 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 68 [2019-02-27 13:01:49,936 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:49,984 INFO L301 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. [2019-02-27 13:01:49,985 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:01:49,994 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:49,994 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_187|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_187| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_187| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_187| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_187| ULTIMATE.start_main_p4) 2) 0) (= (select |v_#memory_int_187| ULTIMATE.start_main_p3) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_187| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:01:49,995 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2019-02-27 13:01:50,083 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,085 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,086 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,087 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,088 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,090 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,091 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,092 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,093 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,094 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,096 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,097 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,098 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:50,099 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 68 [2019-02-27 13:01:50,104 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:50,154 INFO L301 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. [2019-02-27 13:01:50,154 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:01:52,289 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:52,290 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_188|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_188| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_188| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_188| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_188| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |v_#memory_int_188| ULTIMATE.start_main_p4) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_188| ULTIMATE.start_main_p5)))) [2019-02-27 13:01:52,290 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2019-02-27 13:01:52,374 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {11080#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:01:52,377 INFO L273 TraceCheckUtils]: 1: Hoare triple {11080#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11084#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:01:52,381 INFO L273 TraceCheckUtils]: 2: Hoare triple {11084#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11088#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:01:52,384 INFO L273 TraceCheckUtils]: 3: Hoare triple {11088#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11092#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:01:52,391 INFO L273 TraceCheckUtils]: 4: Hoare triple {11092#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11096#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} is VALID [2019-02-27 13:01:52,392 INFO L273 TraceCheckUtils]: 5: Hoare triple {11096#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2019-02-27 13:01:52,392 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:52,392 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:01:52,536 INFO L273 TraceCheckUtils]: 5: Hoare triple {11100#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2019-02-27 13:01:52,537 INFO L273 TraceCheckUtils]: 4: Hoare triple {11104#(<= 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]; {11100#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:52,538 INFO L273 TraceCheckUtils]: 3: Hoare triple {11108#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11104#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:52,539 INFO L273 TraceCheckUtils]: 2: Hoare triple {11112#(<= 0 (select (store (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 (+ (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) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11108#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:52,540 INFO L273 TraceCheckUtils]: 1: Hoare triple {11116#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11112#(<= 0 (select (store (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 (+ (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) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:52,542 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {11116#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:01:52,542 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:52,562 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:01:52,562 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2019-02-27 13:01:52,563 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:01:52,563 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2019-02-27 13:01:52,563 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:01:52,563 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-02-27 13:01:52,596 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:52,596 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-02-27 13:01:52,596 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-02-27 13:01:52,597 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:01:52,597 INFO L87 Difference]: Start difference. First operand 77 states and 363 transitions. Second operand 11 states. [2019-02-27 13:01:57,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:57,142 INFO L93 Difference]: Finished difference Result 136 states and 478 transitions. [2019-02-27 13:01:57,142 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:01:57,142 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2019-02-27 13:01:57,142 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:01:57,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-27 13:01:57,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 92 transitions. [2019-02-27 13:01:57,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-27 13:01:57,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 92 transitions. [2019-02-27 13:01:57,143 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 92 transitions. [2019-02-27 13:01:57,353 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:01:57,356 INFO L225 Difference]: With dead ends: 136 [2019-02-27 13:01:57,357 INFO L226 Difference]: Without dead ends: 131 [2019-02-27 13:01:57,357 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 87 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=107, Invalid=199, Unknown=0, NotChecked=0, Total=306 [2019-02-27 13:01:57,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2019-02-27 13:01:58,582 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 77. [2019-02-27 13:01:58,582 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:01:58,582 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand 77 states. [2019-02-27 13:01:58,582 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 77 states. [2019-02-27 13:01:58,582 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 77 states. [2019-02-27 13:01:58,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:58,585 INFO L93 Difference]: Finished difference Result 131 states and 472 transitions. [2019-02-27 13:01:58,585 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 472 transitions. [2019-02-27 13:01:58,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:58,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:58,586 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 131 states. [2019-02-27 13:01:58,586 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 131 states. [2019-02-27 13:01:58,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:01:58,590 INFO L93 Difference]: Finished difference Result 131 states and 472 transitions. [2019-02-27 13:01:58,590 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 472 transitions. [2019-02-27 13:01:58,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:01:58,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:01:58,590 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:01:58,590 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:01:58,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-27 13:01:58,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2019-02-27 13:01:58,593 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2019-02-27 13:01:58,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:01:58,593 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2019-02-27 13:01:58,593 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-02-27 13:01:58,593 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2019-02-27 13:01:58,593 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:01:58,594 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:01:58,594 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:01:58,594 INFO L423 AbstractCegarLoop]: === Iteration 38 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:01:58,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:58,594 INFO L82 PathProgramCache]: Analyzing trace with hash 904729414, now seen corresponding path program 1 times [2019-02-27 13:01:58,594 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:01:58,595 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:58,595 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:01:58,595 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:01:58,595 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:01:58,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:58,811 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {11726#(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_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:01:58,812 INFO L273 TraceCheckUtils]: 1: Hoare triple {11726#(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_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]; {11727#(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 [2019-02-27 13:01:58,813 INFO L273 TraceCheckUtils]: 2: Hoare triple {11727#(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]; {11728#(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 [2019-02-27 13:01:58,814 INFO L273 TraceCheckUtils]: 3: Hoare triple {11728#(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]; {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:58,815 INFO L273 TraceCheckUtils]: 4: Hoare triple {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:01:58,815 INFO L273 TraceCheckUtils]: 5: Hoare triple {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2019-02-27 13:01:58,816 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:01:58,816 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:58,816 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:01:58,816 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:01:58,817 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [20], [24], [25] [2019-02-27 13:01:58,818 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:01:58,818 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:01:58,829 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:01:58,829 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:01:58,829 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:01:58,830 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:01:58,830 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:01:58,830 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 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:01:58,839 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:01:58,839 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:01:58,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:58,844 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:01:58,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:01:58,847 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:01:58,881 INFO L467 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 [2019-02-27 13:01:58,886 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:58,887 INFO L467 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 [2019-02-27 13:01:58,897 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:58,899 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:58,900 INFO L467 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 [2019-02-27 13:01:58,913 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:58,915 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:58,916 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:58,917 INFO L467 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 [2019-02-27 13:01:58,936 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:58,938 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:58,939 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:58,940 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:58,941 INFO L467 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 [2019-02-27 13:01:58,944 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:58,974 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:58,991 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:59,004 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:59,015 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:59,036 INFO L301 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. [2019-02-27 13:01:59,036 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:01:59,046 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:59,046 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_193|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store (store (store (store (store |v_#memory_int_193| 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|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:01:59,047 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:01:59,194 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:59,195 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:59,196 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:59,197 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:59,198 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:59,199 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:59,200 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:59,202 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:59,203 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:59,204 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:59,205 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:59,206 INFO L467 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 [2019-02-27 13:01:59,210 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:59,256 INFO L301 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. [2019-02-27 13:01:59,257 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:01:59,980 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:59,981 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_194|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_194| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_194| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_194| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_194| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_194| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_194| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:01:59,981 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:00,040 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,041 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,043 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,044 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,046 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,047 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,048 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,050 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,051 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,052 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,053 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,054 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,055 INFO L467 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 68 [2019-02-27 13:02:00,059 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:00,103 INFO L301 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. [2019-02-27 13:02:00,104 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:00,153 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:00,154 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_195|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_195| ULTIMATE.start_main_p5))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_195| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_195| ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_195| ULTIMATE.start_main_p4) 1)) (= |#memory_int| (store |v_#memory_int_195| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_195| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:00,154 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:00,213 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,214 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,215 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,216 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,217 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,219 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,220 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,222 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,223 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,224 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,226 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:00,226 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:02:00,227 INFO L467 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 68 [2019-02-27 13:02:00,231 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:00,278 INFO L301 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. [2019-02-27 13:02:00,278 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:02,285 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:02,285 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_196|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_196| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_196| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_196| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= 0 (select |v_#memory_int_196| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_196| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_196| ULTIMATE.start_main_p1 (+ .cse0 1))))) [2019-02-27 13:02:02,285 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:02,349 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {11733#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:02,352 INFO L273 TraceCheckUtils]: 1: Hoare triple {11733#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11737#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-27 13:02:02,354 INFO L273 TraceCheckUtils]: 2: Hoare triple {11737#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11741#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:02,356 INFO L273 TraceCheckUtils]: 3: Hoare triple {11741#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:02:02,357 INFO L273 TraceCheckUtils]: 4: Hoare triple {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:02:02,358 INFO L273 TraceCheckUtils]: 5: Hoare triple {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2019-02-27 13:02:02,358 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:02,358 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:02:02,428 INFO L273 TraceCheckUtils]: 5: Hoare triple {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2019-02-27 13:02:02,428 INFO L273 TraceCheckUtils]: 4: Hoare triple {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:02,430 INFO L273 TraceCheckUtils]: 3: Hoare triple {11759#(<= (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]; {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:02,431 INFO L273 TraceCheckUtils]: 2: Hoare triple {11763#(<= (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]; {11759#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:02,433 INFO L273 TraceCheckUtils]: 1: Hoare triple {11767#(<= (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11763#(<= (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 [2019-02-27 13:02:02,436 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {11767#(<= (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:02,436 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:02,456 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:02:02,456 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:02:02,456 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:02:02,457 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:02:02,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:02:02,457 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:02:02,477 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:02,477 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:02:02,478 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:02:02,478 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:02:02,478 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 10 states. [2019-02-27 13:02:04,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:04,623 INFO L93 Difference]: Finished difference Result 106 states and 409 transitions. [2019-02-27 13:02:04,623 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:02:04,623 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:02:04,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:02:04,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:02:04,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2019-02-27 13:02:04,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:02:04,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2019-02-27 13:02:04,624 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 63 transitions. [2019-02-27 13:02:04,755 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:04,758 INFO L225 Difference]: With dead ends: 106 [2019-02-27 13:02:04,758 INFO L226 Difference]: Without dead ends: 105 [2019-02-27 13:02:04,758 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:02:04,759 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2019-02-27 13:02:05,746 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 77. [2019-02-27 13:02:05,746 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:02:05,746 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 77 states. [2019-02-27 13:02:05,746 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 77 states. [2019-02-27 13:02:05,747 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 77 states. [2019-02-27 13:02:05,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:05,750 INFO L93 Difference]: Finished difference Result 105 states and 407 transitions. [2019-02-27 13:02:05,750 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 407 transitions. [2019-02-27 13:02:05,750 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:05,750 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:05,750 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 105 states. [2019-02-27 13:02:05,750 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 105 states. [2019-02-27 13:02:05,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:05,752 INFO L93 Difference]: Finished difference Result 105 states and 407 transitions. [2019-02-27 13:02:05,753 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 407 transitions. [2019-02-27 13:02:05,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:05,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:05,753 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:02:05,753 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:02:05,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-27 13:02:05,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2019-02-27 13:02:05,755 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2019-02-27 13:02:05,755 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:02:05,755 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2019-02-27 13:02:05,755 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:02:05,755 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2019-02-27 13:02:05,755 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:02:05,755 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:02:05,756 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:02:05,756 INFO L423 AbstractCegarLoop]: === Iteration 39 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:02:05,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:05,756 INFO L82 PathProgramCache]: Analyzing trace with hash 904728978, now seen corresponding path program 1 times [2019-02-27 13:02:05,756 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:02:05,757 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:05,757 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:05,757 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:05,757 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:02:05,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:06,154 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {12289#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 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 [2019-02-27 13:02:06,155 INFO L273 TraceCheckUtils]: 1: Hoare triple {12289#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 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]; {12290#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:02:06,156 INFO L273 TraceCheckUtils]: 2: Hoare triple {12290#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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]; {12291#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:02:06,156 INFO L273 TraceCheckUtils]: 3: Hoare triple {12291#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12292#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:02:06,157 INFO L273 TraceCheckUtils]: 4: Hoare triple {12292#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12293#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:06,157 INFO L273 TraceCheckUtils]: 5: Hoare triple {12293#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2019-02-27 13:02:06,158 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:06,158 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:06,158 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:02:06,158 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:02:06,159 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [20], [23] [2019-02-27 13:02:06,160 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:02:06,160 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:02:06,177 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:02:06,177 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-27 13:02:06,178 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:06,178 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:02:06,178 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:06,178 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 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:02:06,187 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:06,187 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:02:06,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:06,192 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:02:06,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:06,196 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:02:06,227 INFO L467 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 [2019-02-27 13:02:06,234 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,235 INFO L467 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 [2019-02-27 13:02:06,246 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,248 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,249 INFO L467 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 [2019-02-27 13:02:06,264 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,265 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,266 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,267 INFO L467 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 [2019-02-27 13:02:06,288 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,289 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,291 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,292 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,293 INFO L467 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 [2019-02-27 13:02:06,298 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:06,329 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:06,346 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:06,360 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:06,372 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:06,394 INFO L301 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. [2019-02-27 13:02:06,394 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:02:06,406 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:06,406 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_200|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_200| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:06,406 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:02:06,471 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,473 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,474 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,475 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,477 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,478 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,480 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,481 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,482 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,483 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,485 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,486 INFO L467 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 [2019-02-27 13:02:06,490 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:06,538 INFO L301 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. [2019-02-27 13:02:06,539 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:02:06,551 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:06,552 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_201|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_201| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_201| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_201| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_201| ULTIMATE.start_main_p1)) (= .cse0 0) (= 0 (select |v_#memory_int_201| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_201| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:06,552 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:06,620 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,621 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,623 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,624 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,625 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,627 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,628 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,629 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,631 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,632 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,633 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,635 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:06,636 INFO L467 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 68 [2019-02-27 13:02:06,641 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:06,685 INFO L301 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. [2019-02-27 13:02:06,685 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:07,142 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:07,143 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_202|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_202| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_202| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_202| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:07,143 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:07,228 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,230 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,231 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,233 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,234 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,235 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,237 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,238 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,239 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,241 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,242 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,243 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:02:07,244 INFO L467 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 68 [2019-02-27 13:02:07,247 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:07,306 INFO L301 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. [2019-02-27 13:02:07,307 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:07,314 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:07,314 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_203|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_203| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_203| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_203| ULTIMATE.start_main_p3)) (= .cse0 0) (= 0 (select |v_#memory_int_203| ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_203| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 1 (select |v_#memory_int_203| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:07,314 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:07,379 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,380 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,381 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,382 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,383 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,385 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,386 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,387 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,388 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,389 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:07,390 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:02:07,391 INFO L467 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 68 [2019-02-27 13:02:07,395 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:07,440 INFO L301 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. [2019-02-27 13:02:07,441 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:07,471 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:07,471 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_204|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_204| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_204| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_204| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_204| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_204| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |v_#memory_int_204| ULTIMATE.start_main_p4) 1) 0))) [2019-02-27 13:02:07,471 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:07,534 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {12297#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:07,537 INFO L273 TraceCheckUtils]: 1: Hoare triple {12297#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12301#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-27 13:02:07,540 INFO L273 TraceCheckUtils]: 2: Hoare triple {12301#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:07,542 INFO L273 TraceCheckUtils]: 3: Hoare triple {12305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12309#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:07,548 INFO L273 TraceCheckUtils]: 4: Hoare triple {12309#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:02:07,548 INFO L273 TraceCheckUtils]: 5: Hoare triple {12313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2019-02-27 13:02:07,549 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:07,549 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:02:07,646 INFO L273 TraceCheckUtils]: 5: Hoare triple {12317#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2019-02-27 13:02:07,646 INFO L273 TraceCheckUtils]: 4: Hoare triple {12321#(<= 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]; {12317#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:07,647 INFO L273 TraceCheckUtils]: 3: Hoare triple {12325#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12321#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:07,649 INFO L273 TraceCheckUtils]: 2: Hoare triple {12329#(<= 0 (select (store (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 (+ (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) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12325#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:07,651 INFO L273 TraceCheckUtils]: 1: Hoare triple {12333#(<= 0 (select (store (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2 (+ (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12329#(<= 0 (select (store (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 (+ (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) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:07,654 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {12333#(<= 0 (select (store (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2 (+ (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:07,655 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:07,674 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:02:07,674 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-27 13:02:07,674 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:02:07,675 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:02:07,675 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:02:07,675 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:02:07,699 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:07,700 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:02:07,700 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:02:07,700 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:02:07,700 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 12 states. [2019-02-27 13:02:10,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:10,865 INFO L93 Difference]: Finished difference Result 131 states and 463 transitions. [2019-02-27 13:02:10,865 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:02:10,865 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:02:10,866 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:02:10,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:02:10,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-27 13:02:10,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:02:10,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-27 13:02:10,867 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2019-02-27 13:02:11,083 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:11,086 INFO L225 Difference]: With dead ends: 131 [2019-02-27 13:02:11,086 INFO L226 Difference]: Without dead ends: 130 [2019-02-27 13:02:11,087 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:02:11,087 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2019-02-27 13:02:12,119 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 77. [2019-02-27 13:02:12,119 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:02:12,119 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 77 states. [2019-02-27 13:02:12,120 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 77 states. [2019-02-27 13:02:12,120 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 77 states. [2019-02-27 13:02:12,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:12,122 INFO L93 Difference]: Finished difference Result 130 states and 461 transitions. [2019-02-27 13:02:12,122 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 461 transitions. [2019-02-27 13:02:12,123 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:12,123 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:12,123 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 130 states. [2019-02-27 13:02:12,123 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 130 states. [2019-02-27 13:02:12,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:12,125 INFO L93 Difference]: Finished difference Result 130 states and 461 transitions. [2019-02-27 13:02:12,126 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 461 transitions. [2019-02-27 13:02:12,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:12,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:12,126 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:02:12,126 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:02:12,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-27 13:02:12,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2019-02-27 13:02:12,128 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2019-02-27 13:02:12,128 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:02:12,128 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2019-02-27 13:02:12,128 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:02:12,128 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2019-02-27 13:02:12,128 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:02:12,128 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:02:12,129 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:02:12,129 INFO L423 AbstractCegarLoop]: === Iteration 40 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:02:12,129 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:12,129 INFO L82 PathProgramCache]: Analyzing trace with hash 904746776, now seen corresponding path program 1 times [2019-02-27 13:02:12,129 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:02:12,130 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:12,130 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:12,130 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:12,130 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:02:12,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:12,299 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {12936#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:02:12,301 INFO L273 TraceCheckUtils]: 1: Hoare triple {12936#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12937#(and (not (= 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)))} is VALID [2019-02-27 13:02:12,302 INFO L273 TraceCheckUtils]: 2: Hoare triple {12937#(and (not (= 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)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:02:12,302 INFO L273 TraceCheckUtils]: 3: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:02:12,303 INFO L273 TraceCheckUtils]: 4: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:02:12,306 INFO L273 TraceCheckUtils]: 5: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2019-02-27 13:02:12,306 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:12,306 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:12,306 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:02:12,307 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:02:12,307 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [26], [27] [2019-02-27 13:02:12,308 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:02:12,308 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:02:12,318 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:02:12,319 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:02:12,319 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:12,319 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:02:12,319 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:12,320 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 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:02:12,330 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:12,330 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:02:12,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:12,338 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 6 conjunts are in the unsatisfiable core [2019-02-27 13:02:12,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:12,345 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:02:12,368 INFO L467 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 [2019-02-27 13:02:12,377 INFO L467 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 [2019-02-27 13:02:12,398 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-27 13:02:12,412 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:12,413 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-27 13:02:12,426 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:12,434 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:12,435 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-27 13:02:12,438 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:12,454 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:12,465 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:12,477 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:12,488 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:12,504 INFO L301 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. [2019-02-27 13:02:12,504 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:25, output treesize:32 [2019-02-27 13:02:12,510 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:12,510 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_209|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_209| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:02:12,510 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:02:12,563 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:12,564 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:12,565 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:12,566 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:12,567 INFO L467 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 [2019-02-27 13:02:12,569 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:12,585 INFO L301 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. [2019-02-27 13:02:12,585 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-02-27 13:02:14,602 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:14,602 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_210|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_210| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (select |v_#memory_int_210| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_210| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_210| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-27 13:02:14,602 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:02:14,643 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:14,644 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:14,645 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:14,646 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:14,647 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:14,648 INFO L467 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 30 [2019-02-27 13:02:14,650 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:14,666 INFO L301 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. [2019-02-27 13:02:14,666 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-02-27 13:02:14,673 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:14,673 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_211|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_211| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_211| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_211| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_211| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0))) [2019-02-27 13:02:14,673 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:02:14,715 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {12942#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:02:14,717 INFO L273 TraceCheckUtils]: 1: Hoare triple {12942#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12946#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:02:14,718 INFO L273 TraceCheckUtils]: 2: Hoare triple {12946#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:02:14,719 INFO L273 TraceCheckUtils]: 3: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:02:14,719 INFO L273 TraceCheckUtils]: 4: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:02:14,720 INFO L273 TraceCheckUtils]: 5: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2019-02-27 13:02:14,721 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:14,721 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:02:14,763 INFO L273 TraceCheckUtils]: 5: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2019-02-27 13:02:14,764 INFO L273 TraceCheckUtils]: 4: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:02:14,764 INFO L273 TraceCheckUtils]: 3: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:02:14,765 INFO L273 TraceCheckUtils]: 2: Hoare triple {12970#(<= 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]; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:02:14,766 INFO L273 TraceCheckUtils]: 1: Hoare triple {12974#(<= 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_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12970#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:02:14,768 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {12974#(<= 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_p3))} is VALID [2019-02-27 13:02:14,769 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:14,788 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:02:14,788 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:02:14,789 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:02:14,789 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:02:14,789 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:02:14,789 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:02:14,805 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:14,806 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:02:14,806 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:02:14,806 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:02:14,806 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 8 states. [2019-02-27 13:02:16,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:16,384 INFO L93 Difference]: Finished difference Result 93 states and 382 transitions. [2019-02-27 13:02:16,384 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:02:16,384 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:02:16,384 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:02:16,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:02:16,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2019-02-27 13:02:16,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:02:16,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2019-02-27 13:02:16,386 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 49 transitions. [2019-02-27 13:02:16,448 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:16,451 INFO L225 Difference]: With dead ends: 93 [2019-02-27 13:02:16,451 INFO L226 Difference]: Without dead ends: 92 [2019-02-27 13:02:16,451 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:02:16,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2019-02-27 13:02:17,493 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 77. [2019-02-27 13:02:17,493 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:02:17,494 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 77 states. [2019-02-27 13:02:17,494 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 77 states. [2019-02-27 13:02:17,494 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 77 states. [2019-02-27 13:02:17,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:17,497 INFO L93 Difference]: Finished difference Result 92 states and 380 transitions. [2019-02-27 13:02:17,497 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 380 transitions. [2019-02-27 13:02:17,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:17,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:17,497 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 92 states. [2019-02-27 13:02:17,497 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 92 states. [2019-02-27 13:02:17,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:17,499 INFO L93 Difference]: Finished difference Result 92 states and 380 transitions. [2019-02-27 13:02:17,499 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 380 transitions. [2019-02-27 13:02:17,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:17,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:17,500 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:02:17,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:02:17,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-27 13:02:17,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2019-02-27 13:02:17,502 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2019-02-27 13:02:17,502 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:02:17,502 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2019-02-27 13:02:17,503 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:02:17,503 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2019-02-27 13:02:17,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:02:17,503 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:02:17,503 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:02:17,503 INFO L423 AbstractCegarLoop]: === Iteration 41 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:02:17,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:17,504 INFO L82 PathProgramCache]: Analyzing trace with hash 904732946, now seen corresponding path program 1 times [2019-02-27 13:02:17,504 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:02:17,504 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:17,504 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:17,505 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:17,505 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:02:17,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:17,792 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {13452#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:02:17,794 INFO L273 TraceCheckUtils]: 1: Hoare triple {13452#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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_p3)))} is VALID [2019-02-27 13:02:17,795 INFO L273 TraceCheckUtils]: 2: Hoare triple {13453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:02:17,796 INFO L273 TraceCheckUtils]: 3: Hoare triple {13454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13455#(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 [2019-02-27 13:02:17,797 INFO L273 TraceCheckUtils]: 4: Hoare triple {13455#(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]; {13456#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:02:17,797 INFO L273 TraceCheckUtils]: 5: Hoare triple {13456#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2019-02-27 13:02:17,798 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:17,798 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:17,798 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:02:17,799 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:02:17,799 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [20], [23] [2019-02-27 13:02:17,800 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:02:17,800 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:02:17,823 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:02:17,823 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-27 13:02:17,823 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:17,823 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:02:17,823 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:17,823 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 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:02:17,832 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:17,833 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:02:17,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:17,838 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:02:17,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:17,842 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:02:17,878 INFO L467 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 [2019-02-27 13:02:17,908 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:17,909 INFO L467 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 [2019-02-27 13:02:17,932 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:17,933 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:17,934 INFO L467 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 [2019-02-27 13:02:17,949 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:17,950 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:17,951 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:17,952 INFO L467 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 [2019-02-27 13:02:18,202 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,205 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,208 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,210 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,210 INFO L467 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 [2019-02-27 13:02:18,214 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:18,252 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:18,275 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:18,297 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:18,311 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:18,338 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:18,338 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2019-02-27 13:02:18,344 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:18,344 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_214|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_214| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:18,344 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:02:18,432 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,434 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,435 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,436 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,437 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,439 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,440 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,441 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,443 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,444 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,445 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,446 INFO L467 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 [2019-02-27 13:02:18,455 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:18,500 INFO L301 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. [2019-02-27 13:02:18,508 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2019-02-27 13:02:18,539 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:18,539 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_215|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_215| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_215| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_215| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_215| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_215| ULTIMATE.start_main_p3) 0) (= 0 .cse0) (= (select |v_#memory_int_215| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:18,539 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:18,600 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,602 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,603 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,604 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,605 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,606 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,608 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,609 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,610 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,611 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,612 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,613 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,614 INFO L467 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 68 [2019-02-27 13:02:18,645 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:18,706 INFO L301 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. [2019-02-27 13:02:18,707 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:18,717 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:18,718 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_216|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_216| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_216| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_216| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_216| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_216| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_216| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:18,718 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:18,778 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,779 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,780 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,782 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,783 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,784 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,785 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,786 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,788 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,789 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,789 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:02:18,790 INFO L467 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 68 [2019-02-27 13:02:18,793 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:18,837 INFO L301 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. [2019-02-27 13:02:18,837 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:18,874 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:18,874 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_217|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_217| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_217| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_217| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (= (select |v_#memory_int_217| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |v_#memory_int_217| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_217| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:18,875 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:18,935 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,937 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,938 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,940 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,941 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,942 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,944 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,945 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,946 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,948 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,949 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:18,950 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:02:18,950 INFO L467 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 70 [2019-02-27 13:02:18,954 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:19,001 INFO L301 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. [2019-02-27 13:02:19,001 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-27 13:02:19,113 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:19,114 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_218|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_218| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_218| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_218| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_218| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (= (select |v_#memory_int_218| ULTIMATE.start_main_p1) 0) (= (+ (select |v_#memory_int_218| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:19,114 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:02:19,171 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {13460#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:19,174 INFO L273 TraceCheckUtils]: 1: Hoare triple {13460#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13464#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:19,176 INFO L273 TraceCheckUtils]: 2: Hoare triple {13464#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13468#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:19,179 INFO L273 TraceCheckUtils]: 3: Hoare triple {13468#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13472#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:02:19,184 INFO L273 TraceCheckUtils]: 4: Hoare triple {13472#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13476#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 13:02:19,185 INFO L273 TraceCheckUtils]: 5: Hoare triple {13476#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2019-02-27 13:02:19,186 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:19,186 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:02:19,286 INFO L273 TraceCheckUtils]: 5: Hoare triple {13480#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2019-02-27 13:02:19,288 INFO L273 TraceCheckUtils]: 4: Hoare triple {13484#(<= 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]; {13480#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:19,289 INFO L273 TraceCheckUtils]: 3: Hoare triple {13488#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13484#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:19,291 INFO L273 TraceCheckUtils]: 2: Hoare triple {13492#(<= 0 (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13488#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:19,295 INFO L273 TraceCheckUtils]: 1: Hoare triple {13496#(<= 0 (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13492#(<= 0 (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:19,297 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {13496#(<= 0 (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:19,298 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:19,316 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:02:19,316 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-27 13:02:19,316 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:02:19,317 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:02:19,317 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:02:19,317 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:02:19,340 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:19,340 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:02:19,340 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:02:19,341 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=178, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:02:19,341 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 12 states. [2019-02-27 13:02:22,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:22,506 INFO L93 Difference]: Finished difference Result 117 states and 435 transitions. [2019-02-27 13:02:22,506 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 13:02:22,506 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:02:22,506 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:02:22,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:02:22,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2019-02-27 13:02:22,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:02:22,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2019-02-27 13:02:22,507 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2019-02-27 13:02:22,698 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:22,700 INFO L225 Difference]: With dead ends: 117 [2019-02-27 13:02:22,701 INFO L226 Difference]: Without dead ends: 115 [2019-02-27 13:02:22,701 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 103 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=146, Invalid=274, Unknown=0, NotChecked=0, Total=420 [2019-02-27 13:02:22,701 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2019-02-27 13:02:23,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 74. [2019-02-27 13:02:23,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:02:23,873 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 74 states. [2019-02-27 13:02:23,873 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 74 states. [2019-02-27 13:02:23,873 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 74 states. [2019-02-27 13:02:23,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:23,876 INFO L93 Difference]: Finished difference Result 115 states and 431 transitions. [2019-02-27 13:02:23,876 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 431 transitions. [2019-02-27 13:02:23,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:23,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:23,877 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 115 states. [2019-02-27 13:02:23,877 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 115 states. [2019-02-27 13:02:23,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:23,880 INFO L93 Difference]: Finished difference Result 115 states and 431 transitions. [2019-02-27 13:02:23,880 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 431 transitions. [2019-02-27 13:02:23,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:23,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:23,880 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:02:23,880 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:02:23,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2019-02-27 13:02:23,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 344 transitions. [2019-02-27 13:02:23,882 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 344 transitions. Word has length 6 [2019-02-27 13:02:23,883 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:02:23,883 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 344 transitions. [2019-02-27 13:02:23,883 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:02:23,883 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 344 transitions. [2019-02-27 13:02:23,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:02:23,883 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:02:23,883 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:02:23,883 INFO L423 AbstractCegarLoop]: === Iteration 42 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:02:23,883 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:23,884 INFO L82 PathProgramCache]: Analyzing trace with hash 904737102, now seen corresponding path program 1 times [2019-02-27 13:02:23,884 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:02:23,884 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:23,884 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:23,884 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:23,884 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:02:23,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:24,198 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {14048#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:02:24,199 INFO L273 TraceCheckUtils]: 1: Hoare triple {14048#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14049#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:02:24,200 INFO L273 TraceCheckUtils]: 2: Hoare triple {14049#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 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]; {14050#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:02:24,201 INFO L273 TraceCheckUtils]: 3: Hoare triple {14050#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 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]; {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:24,201 INFO L273 TraceCheckUtils]: 4: Hoare triple {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:24,202 INFO L273 TraceCheckUtils]: 5: Hoare triple {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2019-02-27 13:02:24,202 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:24,203 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:24,203 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:02:24,203 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:02:24,203 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [20], [24], [25] [2019-02-27 13:02:24,205 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:02:24,205 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:02:24,215 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:02:24,215 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:02:24,215 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:24,215 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:02:24,215 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:24,215 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 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:02:24,225 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:24,225 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:02:24,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:24,236 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:02:24,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:24,240 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:02:24,261 INFO L467 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 [2019-02-27 13:02:24,268 INFO L467 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 [2019-02-27 13:02:24,278 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,279 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:02:24,295 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,296 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,297 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:02:24,313 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,318 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,319 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,320 INFO L467 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 [2019-02-27 13:02:24,324 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:24,346 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:24,358 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:24,370 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:24,381 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:24,399 INFO L301 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. [2019-02-27 13:02:24,400 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2019-02-27 13:02:24,404 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:24,405 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_223|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_223| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:24,405 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:02:24,471 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,472 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,474 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,475 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,476 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,478 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,479 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:24,480 INFO L467 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 [2019-02-27 13:02:24,483 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:24,514 INFO L301 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. [2019-02-27 13:02:24,514 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2019-02-27 13:02:26,532 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:26,533 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_224|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_224| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_224| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= (select |v_#memory_int_224| ULTIMATE.start_main_p5) 0) (= |#memory_int| (store |v_#memory_int_224| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_224| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:02:26,533 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:26,588 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,590 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,591 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,592 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,593 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,594 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,595 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,596 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,597 INFO L467 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 47 [2019-02-27 13:02:26,600 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:26,629 INFO L301 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. [2019-02-27 13:02:26,630 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:32 [2019-02-27 13:02:26,638 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:26,639 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_225|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_225| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_225| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_225| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_225| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_225| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0))) [2019-02-27 13:02:26,639 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:26,693 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,695 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,696 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,697 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,699 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,700 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,701 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:26,702 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:02:26,703 INFO L467 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 47 [2019-02-27 13:02:26,706 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:26,736 INFO L301 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. [2019-02-27 13:02:26,737 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-27 13:02:27,100 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:27,101 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_226|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_226| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_226| ULTIMATE.start_main_p5) 1) (= .cse0 0) (= (select |v_#memory_int_226| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_226| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_226| ULTIMATE.start_main_p4) 1)))) [2019-02-27 13:02:27,101 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:27,155 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {14055#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:02:27,157 INFO L273 TraceCheckUtils]: 1: Hoare triple {14055#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:02:27,159 INFO L273 TraceCheckUtils]: 2: Hoare triple {14059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14063#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:02:27,161 INFO L273 TraceCheckUtils]: 3: Hoare triple {14063#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:02:27,162 INFO L273 TraceCheckUtils]: 4: Hoare triple {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:02:27,163 INFO L273 TraceCheckUtils]: 5: Hoare triple {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2019-02-27 13:02:27,163 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:27,163 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:02:27,227 INFO L273 TraceCheckUtils]: 5: Hoare triple {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2019-02-27 13:02:27,228 INFO L273 TraceCheckUtils]: 4: Hoare triple {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:27,229 INFO L273 TraceCheckUtils]: 3: Hoare triple {14081#(<= (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]; {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:27,230 INFO L273 TraceCheckUtils]: 2: Hoare triple {14085#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14081#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:27,233 INFO L273 TraceCheckUtils]: 1: Hoare triple {14089#(<= (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14085#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:27,235 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {14089#(<= (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:27,235 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:27,255 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:02:27,255 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:02:27,255 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:02:27,255 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:02:27,256 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:02:27,256 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:02:27,275 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:27,275 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:02:27,275 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:02:27,276 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:02:27,276 INFO L87 Difference]: Start difference. First operand 74 states and 344 transitions. Second operand 10 states. [2019-02-27 13:02:29,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:29,428 INFO L93 Difference]: Finished difference Result 99 states and 372 transitions. [2019-02-27 13:02:29,428 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:02:29,428 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:02:29,429 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:02:29,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:02:29,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 62 transitions. [2019-02-27 13:02:29,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:02:29,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 62 transitions. [2019-02-27 13:02:29,429 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 62 transitions. [2019-02-27 13:02:29,524 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:29,526 INFO L225 Difference]: With dead ends: 99 [2019-02-27 13:02:29,526 INFO L226 Difference]: Without dead ends: 98 [2019-02-27 13:02:29,527 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:02:29,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2019-02-27 13:02:30,556 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 73. [2019-02-27 13:02:30,556 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:02:30,556 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand 73 states. [2019-02-27 13:02:30,557 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 73 states. [2019-02-27 13:02:30,557 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 73 states. [2019-02-27 13:02:30,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:30,560 INFO L93 Difference]: Finished difference Result 98 states and 370 transitions. [2019-02-27 13:02:30,560 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 370 transitions. [2019-02-27 13:02:30,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:30,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:30,561 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 98 states. [2019-02-27 13:02:30,561 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 98 states. [2019-02-27 13:02:30,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:30,564 INFO L93 Difference]: Finished difference Result 98 states and 370 transitions. [2019-02-27 13:02:30,564 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 370 transitions. [2019-02-27 13:02:30,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:30,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:30,564 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:02:30,564 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:02:30,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2019-02-27 13:02:30,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 338 transitions. [2019-02-27 13:02:30,566 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 338 transitions. Word has length 6 [2019-02-27 13:02:30,567 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:02:30,567 INFO L480 AbstractCegarLoop]: Abstraction has 73 states and 338 transitions. [2019-02-27 13:02:30,567 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:02:30,567 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 338 transitions. [2019-02-27 13:02:30,567 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:02:30,567 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:02:30,567 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1] [2019-02-27 13:02:30,568 INFO L423 AbstractCegarLoop]: === Iteration 43 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:02:30,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:30,568 INFO L82 PathProgramCache]: Analyzing trace with hash 904323436, now seen corresponding path program 3 times [2019-02-27 13:02:30,568 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:02:30,569 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:30,569 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:30,569 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:30,569 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:02:30,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:30,777 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 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)))} is VALID [2019-02-27 13:02:30,778 INFO L273 TraceCheckUtils]: 1: Hoare triple {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 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)))} is VALID [2019-02-27 13:02:30,779 INFO L273 TraceCheckUtils]: 2: Hoare triple {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 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)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14577#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:02:30,780 INFO L273 TraceCheckUtils]: 3: Hoare triple {14577#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14578#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:02:30,781 INFO L273 TraceCheckUtils]: 4: Hoare triple {14578#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14579#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:30,782 INFO L273 TraceCheckUtils]: 5: Hoare triple {14579#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2019-02-27 13:02:30,782 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:02:30,783 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:30,783 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:02:30,783 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:02:30,783 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:02:30,783 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:30,783 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 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:02:30,792 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2019-02-27 13:02:30,792 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2019-02-27 13:02:30,797 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2019-02-27 13:02:30,798 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:02:30,798 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:02:30,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:30,802 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:02:30,832 INFO L467 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 [2019-02-27 13:02:30,838 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:30,838 INFO L467 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 [2019-02-27 13:02:30,849 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:30,850 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:30,851 INFO L467 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 [2019-02-27 13:02:30,865 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:30,866 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:30,867 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:30,868 INFO L467 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 [2019-02-27 13:02:30,889 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:30,891 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:30,893 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:30,894 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:30,895 INFO L467 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 [2019-02-27 13:02:30,899 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:30,929 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:30,946 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:30,960 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:30,972 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:30,993 INFO L301 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. [2019-02-27 13:02:30,993 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:02:31,001 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:31,002 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_230|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_230| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:31,002 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:02:31,064 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,066 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,067 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,068 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,070 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,071 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,072 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,074 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,075 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,076 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,078 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,079 INFO L467 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 [2019-02-27 13:02:31,083 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:31,128 INFO L301 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. [2019-02-27 13:02:31,129 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:02:31,136 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:31,136 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_231|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_231| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_231| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_231| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_231| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_231| ULTIMATE.start_main_p1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_231| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:31,136 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:31,200 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,202 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,203 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,204 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,206 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,207 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,209 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,210 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,211 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,213 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,214 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,215 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,216 INFO L467 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 68 [2019-02-27 13:02:31,220 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:31,267 INFO L301 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. [2019-02-27 13:02:31,267 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:31,284 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:31,284 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_232|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_232| ULTIMATE.start_main_p1))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_232| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_232| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_232| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_232| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_232| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:31,284 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:31,345 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,346 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,347 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,349 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,350 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,351 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,353 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,354 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,355 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,380 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,381 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,382 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,383 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,384 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 66 [2019-02-27 13:02:31,388 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:31,451 INFO L301 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. [2019-02-27 13:02:31,451 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2019-02-27 13:02:31,463 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:31,463 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_233|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_233| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_233| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_233| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_233| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_233| ULTIMATE.start_main_p2) 0) (= 0 (+ .cse0 1)) (= 1 (select |v_#memory_int_233| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:31,463 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:31,533 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,535 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,536 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,537 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,539 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,540 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,541 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,542 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,543 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,545 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,546 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,547 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,548 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:31,549 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 68 [2019-02-27 13:02:31,553 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:31,600 INFO L301 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. [2019-02-27 13:02:31,601 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:33,743 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:33,743 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_234|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_234| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_234| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_234| ULTIMATE.start_main_p4) 2)) (= .cse0 0) (= (store |v_#memory_int_234| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_234| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_234| ULTIMATE.start_main_p1)))) [2019-02-27 13:02:33,744 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2019-02-27 13:02:33,864 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {14583#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:33,866 INFO L273 TraceCheckUtils]: 1: Hoare triple {14583#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14587#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:33,868 INFO L273 TraceCheckUtils]: 2: Hoare triple {14587#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14591#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:33,871 INFO L273 TraceCheckUtils]: 3: Hoare triple {14591#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14595#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:33,879 INFO L273 TraceCheckUtils]: 4: Hoare triple {14595#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14599#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} is VALID [2019-02-27 13:02:33,880 INFO L273 TraceCheckUtils]: 5: Hoare triple {14599#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2019-02-27 13:02:33,880 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:33,880 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:02:33,973 INFO L273 TraceCheckUtils]: 5: Hoare triple {14603#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2019-02-27 13:02:33,974 INFO L273 TraceCheckUtils]: 4: Hoare triple {14607#(<= 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]; {14603#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:33,975 INFO L273 TraceCheckUtils]: 3: Hoare triple {14611#(<= 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]; {14607#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:33,977 INFO L273 TraceCheckUtils]: 2: Hoare triple {14615#(<= 0 (select (store (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_p2 (+ (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_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14611#(<= 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 [2019-02-27 13:02:33,979 INFO L273 TraceCheckUtils]: 1: Hoare triple {14619#(<= 0 (select (store (store (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_p4 (+ (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_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (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_p4 (+ (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_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14615#(<= 0 (select (store (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_p2 (+ (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_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:33,981 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {14619#(<= 0 (select (store (store (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_p4 (+ (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_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (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_p4 (+ (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_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:02:33,981 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:34,000 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:02:34,001 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2019-02-27 13:02:34,001 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:02:34,001 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2019-02-27 13:02:34,001 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:02:34,001 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-02-27 13:02:34,026 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:34,026 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-02-27 13:02:34,026 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-02-27 13:02:34,026 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:02:34,027 INFO L87 Difference]: Start difference. First operand 73 states and 338 transitions. Second operand 11 states. [2019-02-27 13:02:37,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:37,824 INFO L93 Difference]: Finished difference Result 132 states and 470 transitions. [2019-02-27 13:02:37,824 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:02:37,824 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2019-02-27 13:02:37,825 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:02:37,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-27 13:02:37,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-27 13:02:37,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-27 13:02:37,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-27 13:02:37,826 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2019-02-27 13:02:38,032 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:38,035 INFO L225 Difference]: With dead ends: 132 [2019-02-27 13:02:38,035 INFO L226 Difference]: Without dead ends: 130 [2019-02-27 13:02:38,036 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=110, Invalid=196, Unknown=0, NotChecked=0, Total=306 [2019-02-27 13:02:38,036 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2019-02-27 13:02:39,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 74. [2019-02-27 13:02:39,736 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:02:39,736 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 74 states. [2019-02-27 13:02:39,736 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 74 states. [2019-02-27 13:02:39,736 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 74 states. [2019-02-27 13:02:39,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:39,744 INFO L93 Difference]: Finished difference Result 130 states and 465 transitions. [2019-02-27 13:02:39,744 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 465 transitions. [2019-02-27 13:02:39,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:39,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:39,745 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 130 states. [2019-02-27 13:02:39,747 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 130 states. [2019-02-27 13:02:39,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:39,750 INFO L93 Difference]: Finished difference Result 130 states and 465 transitions. [2019-02-27 13:02:39,750 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 465 transitions. [2019-02-27 13:02:39,750 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:39,751 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:39,751 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:02:39,751 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:02:39,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2019-02-27 13:02:39,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 334 transitions. [2019-02-27 13:02:39,752 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 334 transitions. Word has length 6 [2019-02-27 13:02:39,752 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:02:39,752 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 334 transitions. [2019-02-27 13:02:39,753 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-02-27 13:02:39,753 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 334 transitions. [2019-02-27 13:02:39,753 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:02:39,753 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:02:39,753 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:02:39,753 INFO L423 AbstractCegarLoop]: === Iteration 44 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:02:39,753 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:39,753 INFO L82 PathProgramCache]: Analyzing trace with hash 904329702, now seen corresponding path program 1 times [2019-02-27 13:02:39,754 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:02:39,754 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:39,754 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:02:39,754 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:39,754 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:02:39,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:39,894 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {15214#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:02:39,896 INFO L273 TraceCheckUtils]: 1: Hoare triple {15214#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15215#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:02:39,896 INFO L273 TraceCheckUtils]: 2: Hoare triple {15215#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:02:39,897 INFO L273 TraceCheckUtils]: 3: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:02:39,897 INFO L273 TraceCheckUtils]: 4: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:02:39,897 INFO L273 TraceCheckUtils]: 5: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2019-02-27 13:02:39,898 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:39,898 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:39,898 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:02:39,898 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:02:39,898 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [26], [27] [2019-02-27 13:02:39,900 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:02:39,900 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:02:39,975 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:02:39,975 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:02:39,975 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:39,975 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:02:39,976 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:39,976 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 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:02:39,985 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:39,985 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:02:39,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:39,990 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:02:39,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:39,995 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:02:40,014 INFO L467 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 [2019-02-27 13:02:40,023 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,023 INFO L467 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 [2019-02-27 13:02:40,044 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,045 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,046 INFO L467 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 [2019-02-27 13:02:40,059 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,061 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,062 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,063 INFO L467 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 [2019-02-27 13:02:40,085 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,087 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,088 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,090 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,091 INFO L467 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 [2019-02-27 13:02:40,094 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:40,123 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:40,140 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:40,153 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:40,165 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:40,186 INFO L301 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. [2019-02-27 13:02:40,186 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:02:40,197 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:40,197 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_239|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_239| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:40,197 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:02:40,252 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,253 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,254 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,255 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,256 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,257 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,259 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,260 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,262 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,263 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,264 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:40,265 INFO L467 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 [2019-02-27 13:02:40,269 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:40,312 INFO L301 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. [2019-02-27 13:02:40,312 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:02:42,324 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:42,325 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_240|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_240| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_240| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_240| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p3)))) [2019-02-27 13:02:42,325 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:42,393 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,394 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,395 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,396 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,397 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,399 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,400 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,401 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,403 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,404 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,405 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,407 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:42,408 INFO L467 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 68 [2019-02-27 13:02:42,411 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:42,457 INFO L301 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. [2019-02-27 13:02:42,457 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:42,579 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:42,580 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_241|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_241| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_241| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_241| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:42,580 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:42,651 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {15220#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:02:42,654 INFO L273 TraceCheckUtils]: 1: Hoare triple {15220#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15224#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:02:42,657 INFO L273 TraceCheckUtils]: 2: Hoare triple {15224#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:02:42,658 INFO L273 TraceCheckUtils]: 3: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:02:42,659 INFO L273 TraceCheckUtils]: 4: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:02:42,660 INFO L273 TraceCheckUtils]: 5: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2019-02-27 13:02:42,661 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:42,661 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:02:42,706 INFO L273 TraceCheckUtils]: 5: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2019-02-27 13:02:42,706 INFO L273 TraceCheckUtils]: 4: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:02:42,707 INFO L273 TraceCheckUtils]: 3: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:02:42,708 INFO L273 TraceCheckUtils]: 2: Hoare triple {15248#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:02:42,709 INFO L273 TraceCheckUtils]: 1: Hoare triple {15252#(<= 0 (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_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15248#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:02:42,711 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {15252#(<= 0 (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_p3))} is VALID [2019-02-27 13:02:42,712 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:42,732 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:02:42,732 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:02:42,732 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:02:42,732 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:02:42,733 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:02:42,733 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:02:42,751 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:42,751 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:02:42,751 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:02:42,751 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:02:42,752 INFO L87 Difference]: Start difference. First operand 74 states and 334 transitions. Second operand 8 states. [2019-02-27 13:02:46,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:46,705 INFO L93 Difference]: Finished difference Result 87 states and 350 transitions. [2019-02-27 13:02:46,705 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:02:46,705 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:02:46,706 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:02:46,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:02:46,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2019-02-27 13:02:46,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:02:46,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2019-02-27 13:02:46,706 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 48 transitions. [2019-02-27 13:02:46,779 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:46,782 INFO L225 Difference]: With dead ends: 87 [2019-02-27 13:02:46,782 INFO L226 Difference]: Without dead ends: 86 [2019-02-27 13:02:46,782 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:02:46,782 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2019-02-27 13:02:47,992 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 73. [2019-02-27 13:02:47,992 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:02:47,992 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 73 states. [2019-02-27 13:02:47,992 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 73 states. [2019-02-27 13:02:47,992 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 73 states. [2019-02-27 13:02:47,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:47,994 INFO L93 Difference]: Finished difference Result 86 states and 348 transitions. [2019-02-27 13:02:47,994 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 348 transitions. [2019-02-27 13:02:47,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:47,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:47,995 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 86 states. [2019-02-27 13:02:47,995 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 86 states. [2019-02-27 13:02:47,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:47,998 INFO L93 Difference]: Finished difference Result 86 states and 348 transitions. [2019-02-27 13:02:47,998 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 348 transitions. [2019-02-27 13:02:47,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:47,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:47,998 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:02:47,998 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:02:47,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2019-02-27 13:02:48,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 337 transitions. [2019-02-27 13:02:48,000 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 337 transitions. Word has length 6 [2019-02-27 13:02:48,000 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:02:48,000 INFO L480 AbstractCegarLoop]: Abstraction has 73 states and 337 transitions. [2019-02-27 13:02:48,000 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:02:48,000 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 337 transitions. [2019-02-27 13:02:48,000 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:02:48,001 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:02:48,001 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:02:48,001 INFO L423 AbstractCegarLoop]: === Iteration 45 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:02:48,001 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:48,001 INFO L82 PathProgramCache]: Analyzing trace with hash 904316184, now seen corresponding path program 1 times [2019-02-27 13:02:48,001 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:02:48,002 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:48,002 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:48,002 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:48,002 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:02:48,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:48,214 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {15699#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:02:48,216 INFO L273 TraceCheckUtils]: 1: Hoare triple {15699#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15700#(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 [2019-02-27 13:02:48,217 INFO L273 TraceCheckUtils]: 2: Hoare triple {15700#(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]; {15700#(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 [2019-02-27 13:02:48,218 INFO L273 TraceCheckUtils]: 3: Hoare triple {15700#(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_p2 := #memory_int[main_p2] - 1]; {15701#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:02:48,218 INFO L273 TraceCheckUtils]: 4: Hoare triple {15701#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:48,219 INFO L273 TraceCheckUtils]: 5: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2019-02-27 13:02:48,219 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:02:48,219 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:48,220 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:02:48,220 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:02:48,220 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [24], [25] [2019-02-27 13:02:48,221 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:02:48,222 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:02:48,231 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:02:48,231 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:02:48,231 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:48,231 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:02:48,232 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:48,232 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 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:02:48,249 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:48,249 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:02:48,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:48,255 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:02:48,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:48,258 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:02:48,283 INFO L467 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 [2019-02-27 13:02:48,290 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,290 INFO L467 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 [2019-02-27 13:02:48,300 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,302 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,302 INFO L467 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 [2019-02-27 13:02:48,324 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,326 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,327 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,328 INFO L467 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 [2019-02-27 13:02:48,354 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,355 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,356 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,358 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,359 INFO L467 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 [2019-02-27 13:02:48,371 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:48,401 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:48,417 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:48,431 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:48,442 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:48,464 INFO L301 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. [2019-02-27 13:02:48,465 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:02:48,472 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:48,473 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_244|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_244| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:48,473 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:02:48,532 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,534 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,535 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,536 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,537 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,539 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,540 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,541 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,542 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,543 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,545 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:48,546 INFO L467 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 [2019-02-27 13:02:48,549 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:48,596 INFO L301 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. [2019-02-27 13:02:48,596 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:02:50,041 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:50,041 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_245|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_245| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (store |v_#memory_int_245| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_245| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_245| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_245| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_245| ULTIMATE.start_main_p3) 0))) [2019-02-27 13:02:50,041 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:50,101 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,103 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,104 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,105 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,107 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,108 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,109 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,110 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,112 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,113 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,114 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,115 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,116 INFO L467 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 68 [2019-02-27 13:02:50,120 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:50,166 INFO L301 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. [2019-02-27 13:02:50,167 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:50,195 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:50,195 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_246|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_246| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_246| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_246| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_246| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_246| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_246| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:50,195 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:50,256 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,256 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,257 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,258 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,260 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,261 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,262 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,263 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,264 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,266 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:50,266 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:02:50,267 INFO L467 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 68 [2019-02-27 13:02:50,271 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:50,317 INFO L301 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. [2019-02-27 13:02:50,317 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:50,345 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:50,346 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_247|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_247| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_247| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_247| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_247| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= (select |v_#memory_int_247| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_247| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:02:50,346 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:50,406 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {15706#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:50,409 INFO L273 TraceCheckUtils]: 1: Hoare triple {15706#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15710#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:50,411 INFO L273 TraceCheckUtils]: 2: Hoare triple {15710#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15714#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:02:50,414 INFO L273 TraceCheckUtils]: 3: Hoare triple {15714#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-27 13:02:50,414 INFO L273 TraceCheckUtils]: 4: Hoare triple {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-27 13:02:50,415 INFO L273 TraceCheckUtils]: 5: Hoare triple {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2019-02-27 13:02:50,415 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:50,416 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:02:50,462 INFO L273 TraceCheckUtils]: 5: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2019-02-27 13:02:50,463 INFO L273 TraceCheckUtils]: 4: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:50,464 INFO L273 TraceCheckUtils]: 3: Hoare triple {15731#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:50,465 INFO L273 TraceCheckUtils]: 2: Hoare triple {15735#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15731#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:02:50,466 INFO L273 TraceCheckUtils]: 1: Hoare triple {15739#(<= (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) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15735#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:02:50,468 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {15739#(<= (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) 1)} is VALID [2019-02-27 13:02:50,469 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:50,489 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:02:50,489 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-27 13:02:50,489 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:02:50,489 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:02:50,489 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:02:50,489 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:02:50,510 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:50,510 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:02:50,511 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:02:50,511 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=92, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:02:50,511 INFO L87 Difference]: Start difference. First operand 73 states and 337 transitions. Second operand 10 states. [2019-02-27 13:02:53,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:53,055 INFO L93 Difference]: Finished difference Result 106 states and 387 transitions. [2019-02-27 13:02:53,055 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:02:53,055 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:02:53,055 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:02:53,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:02:53,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2019-02-27 13:02:53,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:02:53,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2019-02-27 13:02:53,056 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2019-02-27 13:02:53,170 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:53,172 INFO L225 Difference]: With dead ends: 106 [2019-02-27 13:02:53,172 INFO L226 Difference]: Without dead ends: 105 [2019-02-27 13:02:53,173 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=92, Invalid=148, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:02:53,173 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2019-02-27 13:02:54,669 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 75. [2019-02-27 13:02:54,670 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:02:54,670 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 75 states. [2019-02-27 13:02:54,670 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 75 states. [2019-02-27 13:02:54,670 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 75 states. [2019-02-27 13:02:54,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:54,672 INFO L93 Difference]: Finished difference Result 105 states and 385 transitions. [2019-02-27 13:02:54,673 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 385 transitions. [2019-02-27 13:02:54,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:54,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:54,673 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 105 states. [2019-02-27 13:02:54,673 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 105 states. [2019-02-27 13:02:54,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:54,676 INFO L93 Difference]: Finished difference Result 105 states and 385 transitions. [2019-02-27 13:02:54,676 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 385 transitions. [2019-02-27 13:02:54,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:02:54,676 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:02:54,677 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:02:54,677 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:02:54,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2019-02-27 13:02:54,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 349 transitions. [2019-02-27 13:02:54,678 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 349 transitions. Word has length 6 [2019-02-27 13:02:54,678 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:02:54,678 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 349 transitions. [2019-02-27 13:02:54,679 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:02:54,679 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 349 transitions. [2019-02-27 13:02:54,679 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:02:54,679 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:02:54,679 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:02:54,679 INFO L423 AbstractCegarLoop]: === Iteration 46 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:02:54,679 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:54,679 INFO L82 PathProgramCache]: Analyzing trace with hash 904320028, now seen corresponding path program 1 times [2019-02-27 13:02:54,679 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:02:54,680 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:54,680 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:54,680 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:02:54,680 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:02:54,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:54,984 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {16253#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:02:54,985 INFO L273 TraceCheckUtils]: 1: Hoare triple {16253#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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 [2019-02-27 13:02:54,986 INFO L273 TraceCheckUtils]: 2: Hoare triple {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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]; {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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 [2019-02-27 13:02:54,987 INFO L273 TraceCheckUtils]: 3: Hoare triple {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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_p3 := #memory_int[main_p3] + 1]; {16255#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:02:54,987 INFO L273 TraceCheckUtils]: 4: Hoare triple {16255#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {16256#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:54,987 INFO L273 TraceCheckUtils]: 5: Hoare triple {16256#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2019-02-27 13:02:54,988 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:02:54,988 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:54,988 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:02:54,988 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:02:54,988 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [18], [24], [25] [2019-02-27 13:02:54,989 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:02:54,990 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:02:55,048 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:02:55,048 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:02:55,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:02:55,048 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:02:55,048 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:02:55,048 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 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:02:55,057 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:02:55,057 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:02:55,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:55,063 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:02:55,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:02:55,071 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:02:55,086 INFO L467 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 [2019-02-27 13:02:55,094 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,094 INFO L467 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 [2019-02-27 13:02:55,107 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,108 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,109 INFO L467 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 [2019-02-27 13:02:55,151 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,152 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,153 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,154 INFO L467 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 [2019-02-27 13:02:55,194 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,195 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,197 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,198 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,199 INFO L467 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 [2019-02-27 13:02:55,204 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:55,233 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:55,251 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:55,271 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:55,282 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:55,304 INFO L301 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. [2019-02-27 13:02:55,304 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:02:55,309 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:55,310 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_251|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_251| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:55,310 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:02:55,366 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,368 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,369 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,370 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,372 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,373 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,374 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,375 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,377 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,378 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,379 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,380 INFO L467 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 [2019-02-27 13:02:55,383 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:55,427 INFO L301 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. [2019-02-27 13:02:55,427 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:02:55,699 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:55,700 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_252|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_252| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_252| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_252| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_252| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_252| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_252| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:02:55,700 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:02:55,757 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,758 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,759 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,761 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,762 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,763 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,765 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,766 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,767 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,768 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,769 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,771 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,771 INFO L467 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 68 [2019-02-27 13:02:55,774 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:55,819 INFO L301 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. [2019-02-27 13:02:55,819 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:55,839 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:55,839 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_253|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_253| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_253| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_253| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_253| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_253| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_253| ULTIMATE.start_main_p3)))) [2019-02-27 13:02:55,839 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:55,899 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,900 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,902 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,903 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,904 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,905 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,906 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,907 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,909 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,910 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,911 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,912 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:55,912 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:02:55,913 INFO L467 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 68 [2019-02-27 13:02:55,923 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:55,968 INFO L301 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. [2019-02-27 13:02:55,968 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:02:56,567 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:56,568 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_254|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_254| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_254| ULTIMATE.start_main_p5)) (= 0 (+ (select |v_#memory_int_254| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_254| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_254| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_254| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:02:56,568 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:02:56,628 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {16260#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:56,631 INFO L273 TraceCheckUtils]: 1: Hoare triple {16260#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16264#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:02:56,633 INFO L273 TraceCheckUtils]: 2: Hoare triple {16264#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16268#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:02:56,636 INFO L273 TraceCheckUtils]: 3: Hoare triple {16268#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:02:56,637 INFO L273 TraceCheckUtils]: 4: Hoare triple {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:02:56,638 INFO L273 TraceCheckUtils]: 5: Hoare triple {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2019-02-27 13:02:56,638 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:56,638 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:02:56,707 INFO L273 TraceCheckUtils]: 5: Hoare triple {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2019-02-27 13:02:56,707 INFO L273 TraceCheckUtils]: 4: Hoare triple {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:56,708 INFO L273 TraceCheckUtils]: 3: Hoare triple {16286#(<= (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]; {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:56,710 INFO L273 TraceCheckUtils]: 2: Hoare triple {16290#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16286#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:56,712 INFO L273 TraceCheckUtils]: 1: Hoare triple {16294#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16290#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:56,714 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {16294#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:02:56,715 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:02:56,734 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:02:56,734 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:02:56,734 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:02:56,735 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:02:56,735 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:02:56,735 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:02:56,756 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:56,756 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:02:56,756 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:02:56,756 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=117, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:02:56,757 INFO L87 Difference]: Start difference. First operand 75 states and 349 transitions. Second operand 10 states. [2019-02-27 13:02:59,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:02:59,127 INFO L93 Difference]: Finished difference Result 102 states and 394 transitions. [2019-02-27 13:02:59,127 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:02:59,127 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:02:59,127 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:02:59,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:02:59,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2019-02-27 13:02:59,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:02:59,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2019-02-27 13:02:59,128 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 61 transitions. [2019-02-27 13:02:59,246 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:02:59,248 INFO L225 Difference]: With dead ends: 102 [2019-02-27 13:02:59,249 INFO L226 Difference]: Without dead ends: 101 [2019-02-27 13:02:59,249 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=98, Invalid=174, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:02:59,249 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2019-02-27 13:03:00,747 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 78. [2019-02-27 13:03:00,748 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:03:00,748 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand 78 states. [2019-02-27 13:03:00,748 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 78 states. [2019-02-27 13:03:00,748 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 78 states. [2019-02-27 13:03:00,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:00,750 INFO L93 Difference]: Finished difference Result 101 states and 392 transitions. [2019-02-27 13:03:00,751 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 392 transitions. [2019-02-27 13:03:00,751 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:00,751 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:00,751 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 101 states. [2019-02-27 13:03:00,751 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 101 states. [2019-02-27 13:03:00,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:00,754 INFO L93 Difference]: Finished difference Result 101 states and 392 transitions. [2019-02-27 13:03:00,754 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 392 transitions. [2019-02-27 13:03:00,754 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:00,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:00,754 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:03:00,755 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:03:00,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2019-02-27 13:03:00,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 367 transitions. [2019-02-27 13:03:00,756 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 367 transitions. Word has length 6 [2019-02-27 13:03:00,756 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:03:00,757 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 367 transitions. [2019-02-27 13:03:00,757 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:03:00,757 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 367 transitions. [2019-02-27 13:03:00,757 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:03:00,757 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:03:00,757 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:03:00,757 INFO L423 AbstractCegarLoop]: === Iteration 47 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:03:00,757 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:00,757 INFO L82 PathProgramCache]: Analyzing trace with hash 904448866, now seen corresponding path program 1 times [2019-02-27 13:03:00,758 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:03:00,758 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:00,758 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:00,758 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:00,758 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:03:00,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:00,895 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {16804#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:03:00,897 INFO L273 TraceCheckUtils]: 1: Hoare triple {16804#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16805#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:03:00,898 INFO L273 TraceCheckUtils]: 2: Hoare triple {16805#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:03:00,898 INFO L273 TraceCheckUtils]: 3: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:03:00,899 INFO L273 TraceCheckUtils]: 4: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:03:00,899 INFO L273 TraceCheckUtils]: 5: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2019-02-27 13:03:00,900 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:00,900 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:00,900 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:03:00,900 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:03:00,901 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [24], [26], [27] [2019-02-27 13:03:00,904 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:03:00,904 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:03:00,918 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:03:00,918 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:03:00,918 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:00,918 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:03:00,918 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:00,919 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 45 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 45 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:03:00,929 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:00,929 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:03:00,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:00,938 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 13:03:00,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:00,946 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:03:00,969 INFO L467 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 [2019-02-27 13:03:00,976 INFO L467 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 [2019-02-27 13:03:00,990 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:00,991 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:03:01,006 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,008 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,009 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:03:01,026 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,031 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,033 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,033 INFO L467 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 [2019-02-27 13:03:01,038 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:01,061 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:01,075 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:01,088 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:01,100 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:01,119 INFO L301 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. [2019-02-27 13:03:01,120 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-27 13:03:01,125 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:01,125 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_258|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_258| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:01,126 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:03:01,197 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,198 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,199 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,200 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,202 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,203 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,204 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:01,205 INFO L467 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 [2019-02-27 13:03:01,207 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:01,237 INFO L301 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. [2019-02-27 13:03:01,238 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:03:03,243 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:03,244 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_259|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_259| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_259| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_259| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_259| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_259| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:03:03,244 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:03,298 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:03,299 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:03,300 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:03,302 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:03,303 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:03,304 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:03,305 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:03:03,305 INFO L467 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 47 [2019-02-27 13:03:03,307 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:03,336 INFO L301 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. [2019-02-27 13:03:03,337 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-27 13:03:03,355 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:03,355 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_260|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_260| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_260| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_260| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_260| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_260| ULTIMATE.start_main_p4) 1)))) [2019-02-27 13:03:03,355 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:03,407 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {16810#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:03:03,410 INFO L273 TraceCheckUtils]: 1: Hoare triple {16810#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16814#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:03,412 INFO L273 TraceCheckUtils]: 2: Hoare triple {16814#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:03:03,413 INFO L273 TraceCheckUtils]: 3: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:03:03,414 INFO L273 TraceCheckUtils]: 4: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:03:03,415 INFO L273 TraceCheckUtils]: 5: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2019-02-27 13:03:03,416 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:03,416 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:03:03,458 INFO L273 TraceCheckUtils]: 5: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2019-02-27 13:03:03,459 INFO L273 TraceCheckUtils]: 4: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:03,460 INFO L273 TraceCheckUtils]: 3: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:03,461 INFO L273 TraceCheckUtils]: 2: Hoare triple {16838#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:03,462 INFO L273 TraceCheckUtils]: 1: Hoare triple {16842#(<= 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_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16838#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:03,464 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {16842#(<= 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_p3))} is VALID [2019-02-27 13:03:03,465 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:03,484 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:03:03,485 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:03:03,485 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:03:03,485 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:03:03,485 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:03:03,485 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:03:03,505 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:03,505 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:03:03,506 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:03:03,506 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:03:03,506 INFO L87 Difference]: Start difference. First operand 78 states and 367 transitions. Second operand 8 states. [2019-02-27 13:03:06,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:06,361 INFO L93 Difference]: Finished difference Result 94 states and 387 transitions. [2019-02-27 13:03:06,361 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:03:06,361 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:03:06,361 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:03:06,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:03:06,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2019-02-27 13:03:06,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:03:06,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2019-02-27 13:03:06,362 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 49 transitions. [2019-02-27 13:03:06,425 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:06,427 INFO L225 Difference]: With dead ends: 94 [2019-02-27 13:03:06,427 INFO L226 Difference]: Without dead ends: 93 [2019-02-27 13:03:06,427 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:03:06,427 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2019-02-27 13:03:07,868 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 78. [2019-02-27 13:03:07,868 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:03:07,868 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand 78 states. [2019-02-27 13:03:07,868 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 78 states. [2019-02-27 13:03:07,869 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 78 states. [2019-02-27 13:03:07,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:07,872 INFO L93 Difference]: Finished difference Result 93 states and 385 transitions. [2019-02-27 13:03:07,872 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 385 transitions. [2019-02-27 13:03:07,872 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:07,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:07,872 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 93 states. [2019-02-27 13:03:07,872 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 93 states. [2019-02-27 13:03:07,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:07,874 INFO L93 Difference]: Finished difference Result 93 states and 385 transitions. [2019-02-27 13:03:07,875 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 385 transitions. [2019-02-27 13:03:07,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:07,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:07,875 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:03:07,875 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:03:07,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2019-02-27 13:03:07,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 367 transitions. [2019-02-27 13:03:07,877 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 367 transitions. Word has length 6 [2019-02-27 13:03:07,877 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:03:07,877 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 367 transitions. [2019-02-27 13:03:07,877 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:03:07,877 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 367 transitions. [2019-02-27 13:03:07,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:03:07,877 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:03:07,877 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:03:07,878 INFO L423 AbstractCegarLoop]: === Iteration 48 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:03:07,878 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:07,878 INFO L82 PathProgramCache]: Analyzing trace with hash 904439192, now seen corresponding path program 1 times [2019-02-27 13:03:07,878 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:03:07,878 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:07,878 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:07,879 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:07,879 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:03:07,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:08,647 WARN L181 SmtUtils]: Spent 509.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 17 [2019-02-27 13:03:08,978 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {17326#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:03:08,979 INFO L273 TraceCheckUtils]: 1: Hoare triple {17326#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17327#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:03:08,980 INFO L273 TraceCheckUtils]: 2: Hoare triple {17327#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17328#(and (not (= ULTIMATE.start_main_p3 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) 0))} is VALID [2019-02-27 13:03:08,981 INFO L273 TraceCheckUtils]: 3: Hoare triple {17328#(and (not (= ULTIMATE.start_main_p3 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) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:03:08,981 INFO L273 TraceCheckUtils]: 4: Hoare triple {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:03:08,982 INFO L273 TraceCheckUtils]: 5: Hoare triple {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2019-02-27 13:03:08,982 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:08,982 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:08,982 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:03:08,982 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:03:08,982 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [24], [25] [2019-02-27 13:03:08,984 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:03:08,984 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:03:09,004 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:03:09,004 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:03:09,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:09,004 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:03:09,005 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:09,005 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 46 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 46 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:03:09,015 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:09,015 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:03:09,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:09,020 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:03:09,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:09,026 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:03:09,049 INFO L467 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 [2019-02-27 13:03:09,055 INFO L467 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 [2019-02-27 13:03:09,067 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,068 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:03:09,082 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,083 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,084 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:03:09,099 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,103 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,104 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,105 INFO L467 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 [2019-02-27 13:03:09,108 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:09,128 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:09,142 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:09,152 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:09,163 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:09,180 INFO L301 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. [2019-02-27 13:03:09,181 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-27 13:03:09,202 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:09,202 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_263|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_263| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:09,203 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:03:09,306 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,308 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,311 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,313 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,315 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,317 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,319 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,319 INFO L467 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 [2019-02-27 13:03:09,324 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:09,362 INFO L301 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. [2019-02-27 13:03:09,363 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:03:09,370 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:09,370 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_264|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_264| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_264| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_264| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_264| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_264| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:03:09,370 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:09,524 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,525 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,528 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,529 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,530 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,531 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,531 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:03:09,532 INFO L467 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 47 [2019-02-27 13:03:09,534 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:09,575 INFO L301 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. [2019-02-27 13:03:09,575 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:32 [2019-02-27 13:03:09,580 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:09,580 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_265|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_265| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_265| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_265| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_265| ULTIMATE.start_main_p5)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_265| ULTIMATE.start_main_p3) 0))) [2019-02-27 13:03:09,581 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:09,675 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,676 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,678 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,679 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,680 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,682 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,683 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,684 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:09,685 INFO L467 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 35 treesize of output 49 [2019-02-27 13:03:09,688 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:09,720 INFO L301 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. [2019-02-27 13:03:09,720 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2019-02-27 13:03:09,735 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:09,735 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_266|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_266| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_266| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_266| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |v_#memory_int_266| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_266| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0))) [2019-02-27 13:03:09,735 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:03:09,781 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {17333#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:03:09,784 INFO L273 TraceCheckUtils]: 1: Hoare triple {17333#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17337#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:09,786 INFO L273 TraceCheckUtils]: 2: Hoare triple {17337#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17341#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:09,789 INFO L273 TraceCheckUtils]: 3: Hoare triple {17341#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:03:09,790 INFO L273 TraceCheckUtils]: 4: Hoare triple {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:03:09,791 INFO L273 TraceCheckUtils]: 5: Hoare triple {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2019-02-27 13:03:09,791 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:09,792 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:03:09,861 INFO L273 TraceCheckUtils]: 5: Hoare triple {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2019-02-27 13:03:09,861 INFO L273 TraceCheckUtils]: 4: Hoare triple {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:09,862 INFO L273 TraceCheckUtils]: 3: Hoare triple {17359#(<= (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]; {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:09,864 INFO L273 TraceCheckUtils]: 2: Hoare triple {17363#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17359#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:09,881 INFO L273 TraceCheckUtils]: 1: Hoare triple {17367#(<= (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17363#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:09,886 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {17367#(<= (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:09,887 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:09,906 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:03:09,906 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:03:09,906 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:03:09,906 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:03:09,907 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:03:09,907 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:03:09,926 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:09,926 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:03:09,927 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:03:09,927 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:03:09,927 INFO L87 Difference]: Start difference. First operand 78 states and 367 transitions. Second operand 10 states. [2019-02-27 13:03:12,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:12,668 INFO L93 Difference]: Finished difference Result 116 states and 427 transitions. [2019-02-27 13:03:12,669 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 13:03:12,669 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:03:12,669 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:03:12,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:03:12,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2019-02-27 13:03:12,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:03:12,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2019-02-27 13:03:12,670 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 74 transitions. [2019-02-27 13:03:12,775 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:12,777 INFO L225 Difference]: With dead ends: 116 [2019-02-27 13:03:12,777 INFO L226 Difference]: Without dead ends: 115 [2019-02-27 13:03:12,777 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:03:12,778 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2019-02-27 13:03:14,190 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 79. [2019-02-27 13:03:14,190 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:03:14,190 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 79 states. [2019-02-27 13:03:14,190 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 79 states. [2019-02-27 13:03:14,190 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 79 states. [2019-02-27 13:03:14,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:14,194 INFO L93 Difference]: Finished difference Result 115 states and 425 transitions. [2019-02-27 13:03:14,194 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 425 transitions. [2019-02-27 13:03:14,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:14,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:14,195 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 115 states. [2019-02-27 13:03:14,195 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 115 states. [2019-02-27 13:03:14,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:14,197 INFO L93 Difference]: Finished difference Result 115 states and 425 transitions. [2019-02-27 13:03:14,197 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 425 transitions. [2019-02-27 13:03:14,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:14,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:14,198 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:03:14,198 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:03:14,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2019-02-27 13:03:14,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 373 transitions. [2019-02-27 13:03:14,200 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 373 transitions. Word has length 6 [2019-02-27 13:03:14,200 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:03:14,200 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 373 transitions. [2019-02-27 13:03:14,200 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:03:14,200 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 373 transitions. [2019-02-27 13:03:14,200 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:03:14,200 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:03:14,200 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:03:14,200 INFO L423 AbstractCegarLoop]: === Iteration 49 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:03:14,201 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:14,201 INFO L82 PathProgramCache]: Analyzing trace with hash 904550232, now seen corresponding path program 1 times [2019-02-27 13:03:14,201 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:03:14,201 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:14,201 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:14,201 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:14,201 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:03:14,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:14,514 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {17923#(and (not (= ULTIMATE.start_main_p2 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:03:14,516 INFO L273 TraceCheckUtils]: 1: Hoare triple {17923#(and (not (= ULTIMATE.start_main_p2 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17924#(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_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:03:14,517 INFO L273 TraceCheckUtils]: 2: Hoare triple {17924#(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_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17925#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:03:14,518 INFO L273 TraceCheckUtils]: 3: Hoare triple {17925#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17926#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:03:14,519 INFO L273 TraceCheckUtils]: 4: Hoare triple {17926#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17927#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:03:14,520 INFO L273 TraceCheckUtils]: 5: Hoare triple {17927#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2019-02-27 13:03:14,520 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:14,520 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:14,521 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:03:14,521 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:03:14,521 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [23] [2019-02-27 13:03:14,522 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:03:14,522 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:03:14,547 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:03:14,547 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-27 13:03:14,547 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:14,547 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:03:14,547 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:14,548 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 47 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 47 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:03:14,562 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:14,563 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:03:14,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:14,567 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:03:14,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:14,572 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:03:14,604 INFO L467 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 [2019-02-27 13:03:14,622 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,622 INFO L467 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 [2019-02-27 13:03:14,639 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,640 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,641 INFO L467 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 [2019-02-27 13:03:14,654 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,655 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,657 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,657 INFO L467 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 [2019-02-27 13:03:14,676 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,677 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,678 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,680 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,681 INFO L467 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 [2019-02-27 13:03:14,684 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:14,715 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:14,732 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:14,745 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:14,756 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:14,777 INFO L301 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. [2019-02-27 13:03:14,777 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:03:14,783 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:14,783 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_270|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_270| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:14,783 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:03:14,841 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,843 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,844 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,845 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,846 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,848 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,850 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,851 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,852 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,853 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,853 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:14,854 INFO L467 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 [2019-02-27 13:03:14,857 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:14,902 INFO L301 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. [2019-02-27 13:03:14,903 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:03:17,069 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:17,069 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_271|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_271| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (select |v_#memory_int_271| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_271| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_271| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_271| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_271| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:03:17,070 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:03:17,283 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,285 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,286 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,287 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,289 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,290 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,291 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,293 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,294 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,295 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,296 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,297 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,298 INFO L467 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 68 [2019-02-27 13:03:17,302 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:17,360 INFO L301 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. [2019-02-27 13:03:17,360 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:03:17,531 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:17,531 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_272|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_272| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_272| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_272| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= 0 (select |v_#memory_int_272| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_272| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_272| ULTIMATE.start_main_p2)))) [2019-02-27 13:03:17,531 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (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)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:03:17,598 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,599 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,601 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,602 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,604 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,605 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,607 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,608 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,609 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,611 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,612 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,613 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,614 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:03:17,614 INFO L467 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 68 [2019-02-27 13:03:17,618 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:17,664 INFO L301 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. [2019-02-27 13:03:17,665 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:03:17,674 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:17,674 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_273|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_273| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_273| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_273| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_273| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_273| ULTIMATE.start_main_p5) 0) (= 1 (select |v_#memory_int_273| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:03:17,674 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:03:17,791 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,792 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,794 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,795 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,796 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,798 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,799 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,800 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,802 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,803 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:17,804 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:03:17,804 INFO L467 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 68 [2019-02-27 13:03:17,807 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:17,852 INFO L301 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. [2019-02-27 13:03:17,852 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:03:17,880 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:17,880 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_274|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_274| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |v_#memory_int_274| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_274| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_274| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_274| ULTIMATE.start_main_p3) 1) (= |#memory_int| (store |v_#memory_int_274| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:03:17,880 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:03:17,946 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {17931#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:17,949 INFO L273 TraceCheckUtils]: 1: Hoare triple {17931#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17935#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:17,953 INFO L273 TraceCheckUtils]: 2: Hoare triple {17935#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17939#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:17,956 INFO L273 TraceCheckUtils]: 3: Hoare triple {17939#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17943#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:17,962 INFO L273 TraceCheckUtils]: 4: Hoare triple {17943#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17947#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:03:17,963 INFO L273 TraceCheckUtils]: 5: Hoare triple {17947#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2019-02-27 13:03:17,963 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:17,963 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:03:18,052 INFO L273 TraceCheckUtils]: 5: Hoare triple {17951#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2019-02-27 13:03:18,053 INFO L273 TraceCheckUtils]: 4: Hoare triple {17955#(<= 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]; {17951#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:03:18,054 INFO L273 TraceCheckUtils]: 3: Hoare triple {17959#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17955#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:03:18,056 INFO L273 TraceCheckUtils]: 2: Hoare triple {17963#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17959#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:03:18,058 INFO L273 TraceCheckUtils]: 1: Hoare triple {17967#(<= 0 (select (store (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2 (+ (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17963#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:03:18,060 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {17967#(<= 0 (select (store (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2 (+ (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:03:18,060 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:18,079 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:03:18,079 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-27 13:03:18,079 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:03:18,079 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:03:18,080 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:03:18,080 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:03:18,109 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:18,110 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:03:18,110 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:03:18,110 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:03:18,110 INFO L87 Difference]: Start difference. First operand 79 states and 373 transitions. Second operand 12 states. [2019-02-27 13:03:22,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:22,279 INFO L93 Difference]: Finished difference Result 140 states and 516 transitions. [2019-02-27 13:03:22,279 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:03:22,279 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:03:22,280 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:03:22,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:03:22,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-27 13:03:22,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:03:22,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-27 13:03:22,281 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2019-02-27 13:03:22,495 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:22,498 INFO L225 Difference]: With dead ends: 140 [2019-02-27 13:03:22,498 INFO L226 Difference]: Without dead ends: 139 [2019-02-27 13:03:22,498 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:03:22,499 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2019-02-27 13:03:23,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 76. [2019-02-27 13:03:23,929 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:03:23,929 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand 76 states. [2019-02-27 13:03:23,929 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 76 states. [2019-02-27 13:03:23,929 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 76 states. [2019-02-27 13:03:23,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:23,933 INFO L93 Difference]: Finished difference Result 139 states and 514 transitions. [2019-02-27 13:03:23,933 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 514 transitions. [2019-02-27 13:03:23,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:23,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:23,934 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 139 states. [2019-02-27 13:03:23,934 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 139 states. [2019-02-27 13:03:23,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:23,937 INFO L93 Difference]: Finished difference Result 139 states and 514 transitions. [2019-02-27 13:03:23,937 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 514 transitions. [2019-02-27 13:03:23,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:23,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:23,937 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:03:23,937 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:03:23,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2019-02-27 13:03:23,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 355 transitions. [2019-02-27 13:03:23,939 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 355 transitions. Word has length 6 [2019-02-27 13:03:23,939 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:03:23,939 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 355 transitions. [2019-02-27 13:03:23,939 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:03:23,939 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 355 transitions. [2019-02-27 13:03:23,939 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:03:23,940 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:03:23,940 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:03:23,940 INFO L423 AbstractCegarLoop]: === Iteration 50 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:03:23,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:23,940 INFO L82 PathProgramCache]: Analyzing trace with hash 904568030, now seen corresponding path program 1 times [2019-02-27 13:03:23,940 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:03:23,941 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:23,941 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:23,941 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:23,941 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:03:23,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:24,041 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {18604#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:03:24,042 INFO L273 TraceCheckUtils]: 1: Hoare triple {18604#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18605#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:03:24,043 INFO L273 TraceCheckUtils]: 2: Hoare triple {18605#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:24,044 INFO L273 TraceCheckUtils]: 3: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:24,044 INFO L273 TraceCheckUtils]: 4: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:24,045 INFO L273 TraceCheckUtils]: 5: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2019-02-27 13:03:24,045 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:24,045 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:24,045 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:03:24,045 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:03:24,046 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [26], [27] [2019-02-27 13:03:24,047 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:03:24,047 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:03:24,061 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:03:24,061 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:03:24,062 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:24,062 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:03:24,062 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:24,062 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 48 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 48 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:03:24,078 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:24,078 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:03:24,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:24,083 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 6 conjunts are in the unsatisfiable core [2019-02-27 13:03:24,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:24,089 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:03:24,110 INFO L467 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 [2019-02-27 13:03:24,124 INFO L467 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 [2019-02-27 13:03:24,133 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-27 13:03:24,147 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,148 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-27 13:03:24,162 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,170 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,171 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-27 13:03:24,175 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:24,191 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:24,203 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:24,215 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:24,227 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:24,243 INFO L301 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. [2019-02-27 13:03:24,243 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2019-02-27 13:03:24,249 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:24,249 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_279|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_279| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:03:24,250 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:03:24,298 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,299 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,300 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,302 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,302 INFO L467 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 [2019-02-27 13:03:24,305 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:24,328 INFO L301 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. [2019-02-27 13:03:24,329 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-02-27 13:03:24,336 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:24,336 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_280|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_280| ULTIMATE.start_main_p4))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_280| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_280| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_280| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-27 13:03:24,336 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:03:24,372 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,373 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,375 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,376 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,377 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:24,377 INFO L467 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 30 [2019-02-27 13:03:24,379 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:24,396 INFO L301 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. [2019-02-27 13:03:24,396 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-02-27 13:03:24,403 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:24,403 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_281|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_281| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_281| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_281| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_281| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-27 13:03:24,403 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:03:24,445 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {18610#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:03:24,447 INFO L273 TraceCheckUtils]: 1: Hoare triple {18610#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (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]; {18614#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:03:24,448 INFO L273 TraceCheckUtils]: 2: Hoare triple {18614#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:03:24,449 INFO L273 TraceCheckUtils]: 3: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:03:24,450 INFO L273 TraceCheckUtils]: 4: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:03:24,451 INFO L273 TraceCheckUtils]: 5: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2019-02-27 13:03:24,452 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:24,452 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:03:24,479 INFO L273 TraceCheckUtils]: 5: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2019-02-27 13:03:24,479 INFO L273 TraceCheckUtils]: 4: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:24,480 INFO L273 TraceCheckUtils]: 3: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:24,480 INFO L273 TraceCheckUtils]: 2: Hoare triple {18637#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:24,481 INFO L273 TraceCheckUtils]: 1: Hoare triple {18641#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18637#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-02-27 13:03:24,483 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {18641#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2019-02-27 13:03:24,484 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:24,504 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:03:24,504 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-27 13:03:24,504 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:03:24,504 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:03:24,504 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:03:24,505 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:03:24,520 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:24,520 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:03:24,520 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:03:24,520 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-27 13:03:24,521 INFO L87 Difference]: Start difference. First operand 76 states and 355 transitions. Second operand 8 states. [2019-02-27 13:03:27,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:27,313 INFO L93 Difference]: Finished difference Result 112 states and 470 transitions. [2019-02-27 13:03:27,313 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:03:27,313 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:03:27,313 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:03:27,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:03:27,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-27 13:03:27,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:03:27,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-27 13:03:27,314 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2019-02-27 13:03:27,418 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:27,420 INFO L225 Difference]: With dead ends: 112 [2019-02-27 13:03:27,420 INFO L226 Difference]: Without dead ends: 111 [2019-02-27 13:03:27,420 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:03:27,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2019-02-27 13:03:29,095 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 80. [2019-02-27 13:03:29,095 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:03:29,095 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 80 states. [2019-02-27 13:03:29,095 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 80 states. [2019-02-27 13:03:29,095 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 80 states. [2019-02-27 13:03:29,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:29,099 INFO L93 Difference]: Finished difference Result 111 states and 468 transitions. [2019-02-27 13:03:29,099 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 468 transitions. [2019-02-27 13:03:29,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:29,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:29,099 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 111 states. [2019-02-27 13:03:29,100 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 111 states. [2019-02-27 13:03:29,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:29,102 INFO L93 Difference]: Finished difference Result 111 states and 468 transitions. [2019-02-27 13:03:29,102 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 468 transitions. [2019-02-27 13:03:29,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:29,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:29,102 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:03:29,102 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:03:29,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 80 states. [2019-02-27 13:03:29,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 380 transitions. [2019-02-27 13:03:29,104 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 380 transitions. Word has length 6 [2019-02-27 13:03:29,104 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:03:29,105 INFO L480 AbstractCegarLoop]: Abstraction has 80 states and 380 transitions. [2019-02-27 13:03:29,105 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:03:29,105 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 380 transitions. [2019-02-27 13:03:29,105 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:03:29,105 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:03:29,105 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:03:29,105 INFO L423 AbstractCegarLoop]: === Iteration 51 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:03:29,105 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:29,105 INFO L82 PathProgramCache]: Analyzing trace with hash 906170478, now seen corresponding path program 2 times [2019-02-27 13:03:29,105 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:03:29,106 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:29,106 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:29,106 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:29,106 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:03:29,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:29,359 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {19194#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:03:29,360 INFO L273 TraceCheckUtils]: 1: Hoare triple {19194#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 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]; {19195#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:03:29,360 INFO L273 TraceCheckUtils]: 2: Hoare triple {19195#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19196#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:03:29,361 INFO L273 TraceCheckUtils]: 3: Hoare triple {19196#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {19197#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:03:29,362 INFO L273 TraceCheckUtils]: 4: Hoare triple {19197#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (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]; {19198#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:03:29,362 INFO L273 TraceCheckUtils]: 5: Hoare triple {19198#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2019-02-27 13:03:29,362 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:29,363 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:29,363 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:03:29,363 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:03:29,363 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:03:29,363 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:29,363 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 49 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 49 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:03:29,372 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:03:29,372 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:03:29,378 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-27 13:03:29,379 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:03:29,379 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:03:29,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:29,386 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:03:29,413 INFO L467 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 [2019-02-27 13:03:29,418 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,419 INFO L467 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 [2019-02-27 13:03:29,428 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,430 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,430 INFO L467 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 [2019-02-27 13:03:29,444 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,445 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,447 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,448 INFO L467 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 [2019-02-27 13:03:29,467 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,469 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,470 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,472 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,473 INFO L467 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 [2019-02-27 13:03:29,476 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:29,507 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:29,523 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:29,536 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:29,548 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:29,570 INFO L301 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. [2019-02-27 13:03:29,570 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:03:29,578 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:29,579 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_284|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_284| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:03:29,579 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:03:29,640 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,642 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,643 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,645 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,646 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,648 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,649 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,650 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,652 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,653 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,654 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:29,655 INFO L467 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 [2019-02-27 13:03:29,658 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:29,711 INFO L301 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. [2019-02-27 13:03:29,711 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:03:30,932 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:30,933 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_285|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_285| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (select |v_#memory_int_285| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_285| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_285| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (select |v_#memory_int_285| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_285| ULTIMATE.start_main_p4)))) [2019-02-27 13:03:30,933 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:03:30,997 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:30,998 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:30,999 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,001 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,002 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,003 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,004 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,005 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,007 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,008 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,009 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,009 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:03:31,010 INFO L467 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 [2019-02-27 13:03:31,014 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:31,059 INFO L301 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. [2019-02-27 13:03:31,059 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:03:31,073 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:31,073 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_286|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_286| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_286| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_286| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_286| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_286| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (= (select |v_#memory_int_286| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:03:31,073 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:03:31,139 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,140 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,142 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,143 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,144 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,146 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,147 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,148 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,150 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,151 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,152 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,154 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:31,154 INFO L467 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 66 [2019-02-27 13:03:31,157 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:31,204 INFO L301 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. [2019-02-27 13:03:31,204 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:03:33,230 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:33,230 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_287|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_287| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_287| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_287| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_287| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_287| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_287| ULTIMATE.start_main_p1)))) [2019-02-27 13:03:33,231 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:03:33,301 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:33,302 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:33,303 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:33,304 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:33,306 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:33,307 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:33,308 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:33,309 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:33,310 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:33,312 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:33,312 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:03:33,313 INFO L467 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 68 [2019-02-27 13:03:33,316 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:33,361 INFO L301 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. [2019-02-27 13:03:33,362 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:03:33,376 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:33,376 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_288|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_288| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_288| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_288| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_288| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_288| ULTIMATE.start_main_p5) 1) (= 1 (select |v_#memory_int_288| ULTIMATE.start_main_p1)))) [2019-02-27 13:03:33,376 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:03:33,448 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {19202#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:33,451 INFO L273 TraceCheckUtils]: 1: Hoare triple {19202#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19206#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:33,453 INFO L273 TraceCheckUtils]: 2: Hoare triple {19206#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19210#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:33,457 INFO L273 TraceCheckUtils]: 3: Hoare triple {19210#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {19214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:33,464 INFO L273 TraceCheckUtils]: 4: Hoare triple {19214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19218#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:03:33,465 INFO L273 TraceCheckUtils]: 5: Hoare triple {19218#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2019-02-27 13:03:33,466 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:33,466 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:03:33,563 INFO L273 TraceCheckUtils]: 5: Hoare triple {19222#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2019-02-27 13:03:33,564 INFO L273 TraceCheckUtils]: 4: Hoare triple {19226#(<= 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]; {19222#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:03:33,565 INFO L273 TraceCheckUtils]: 3: Hoare triple {19230#(<= 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]; {19226#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:03:33,567 INFO L273 TraceCheckUtils]: 2: Hoare triple {19234#(<= 0 (select (store (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_p2 (+ (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_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19230#(<= 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 [2019-02-27 13:03:33,570 INFO L273 TraceCheckUtils]: 1: Hoare triple {19238#(<= 0 (select (store (store (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_p4 (+ (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_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (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_p4 (+ (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_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19234#(<= 0 (select (store (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_p2 (+ (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_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:03:33,572 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {19238#(<= 0 (select (store (store (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_p4 (+ (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_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (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_p4 (+ (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_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:03:33,573 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:33,593 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:03:33,593 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-27 13:03:33,593 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:03:33,594 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:03:33,594 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:03:33,594 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:03:33,620 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:33,620 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:03:33,620 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:03:33,620 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:03:33,621 INFO L87 Difference]: Start difference. First operand 80 states and 380 transitions. Second operand 12 states. [2019-02-27 13:03:40,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:40,216 INFO L93 Difference]: Finished difference Result 137 states and 479 transitions. [2019-02-27 13:03:40,216 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:03:40,216 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:03:40,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:03:40,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:03:40,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2019-02-27 13:03:40,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:03:40,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2019-02-27 13:03:40,217 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2019-02-27 13:03:40,451 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:40,455 INFO L225 Difference]: With dead ends: 137 [2019-02-27 13:03:40,455 INFO L226 Difference]: Without dead ends: 135 [2019-02-27 13:03:40,455 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:03:40,455 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2019-02-27 13:03:42,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 77. [2019-02-27 13:03:42,147 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:03:42,147 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand 77 states. [2019-02-27 13:03:42,147 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 77 states. [2019-02-27 13:03:42,147 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 77 states. [2019-02-27 13:03:42,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:42,151 INFO L93 Difference]: Finished difference Result 135 states and 474 transitions. [2019-02-27 13:03:42,151 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 474 transitions. [2019-02-27 13:03:42,152 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:42,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:42,152 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 135 states. [2019-02-27 13:03:42,152 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 135 states. [2019-02-27 13:03:42,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:42,156 INFO L93 Difference]: Finished difference Result 135 states and 474 transitions. [2019-02-27 13:03:42,156 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 474 transitions. [2019-02-27 13:03:42,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:42,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:42,156 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:03:42,156 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:03:42,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-27 13:03:42,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 361 transitions. [2019-02-27 13:03:42,159 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 361 transitions. Word has length 6 [2019-02-27 13:03:42,159 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:03:42,159 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 361 transitions. [2019-02-27 13:03:42,159 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:03:42,159 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 361 transitions. [2019-02-27 13:03:42,160 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:03:42,160 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:03:42,160 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:03:42,160 INFO L423 AbstractCegarLoop]: === Iteration 52 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:03:42,160 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:42,160 INFO L82 PathProgramCache]: Analyzing trace with hash 906163226, now seen corresponding path program 1 times [2019-02-27 13:03:42,161 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:03:42,161 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:42,161 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:03:42,162 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:42,162 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:03:42,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:42,565 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {19859#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:03:42,566 INFO L273 TraceCheckUtils]: 1: Hoare triple {19859#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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]; {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:03:42,567 INFO L273 TraceCheckUtils]: 2: Hoare triple {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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]; {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:03:42,568 INFO L273 TraceCheckUtils]: 3: Hoare triple {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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_p2 := #memory_int[main_p2] - 1]; {19861#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:03:42,569 INFO L273 TraceCheckUtils]: 4: Hoare triple {19861#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:42,569 INFO L273 TraceCheckUtils]: 5: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2019-02-27 13:03:42,570 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:03:42,570 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:42,570 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:03:42,570 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:03:42,571 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [20], [24], [25] [2019-02-27 13:03:42,572 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:03:42,572 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:03:42,584 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:03:42,584 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:03:42,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:42,584 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:03:42,585 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:42,585 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 50 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 50 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:03:42,594 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:42,594 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:03:42,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:42,598 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:03:42,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:42,603 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:03:42,623 INFO L467 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 [2019-02-27 13:03:42,631 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,631 INFO L467 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 [2019-02-27 13:03:42,642 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,643 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,644 INFO L467 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 [2019-02-27 13:03:42,660 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,662 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,663 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,664 INFO L467 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 [2019-02-27 13:03:42,684 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,686 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,687 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,688 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,689 INFO L467 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 [2019-02-27 13:03:42,696 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:42,727 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:42,744 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:42,758 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:42,768 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:42,799 INFO L301 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. [2019-02-27 13:03:42,799 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:03:42,808 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:42,808 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_293|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_293| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:03:42,808 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:03:42,870 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,871 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,873 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,874 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,875 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,876 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,878 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,879 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,880 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,881 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,882 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,883 INFO L467 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 [2019-02-27 13:03:42,889 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:42,936 INFO L301 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. [2019-02-27 13:03:42,937 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:03:44,941 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:44,941 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_294|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_294| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_294| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:03:44,942 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:03:45,012 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,014 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,015 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,016 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,018 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,019 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,020 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,022 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,023 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,024 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,025 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,026 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:03:45,027 INFO L467 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 [2019-02-27 13:03:45,031 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:45,088 INFO L301 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. [2019-02-27 13:03:45,088 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:03:45,161 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:45,161 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_295|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_295| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_295| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_295| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_295| ULTIMATE.start_main_p4) 0) (= 1 (select |v_#memory_int_295| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (= 0 (select |v_#memory_int_295| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:03:45,161 WARN L399 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) (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:45,272 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,274 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,277 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,280 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,282 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,284 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,286 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,288 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,291 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,293 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,296 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,298 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:45,298 INFO L467 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 66 [2019-02-27 13:03:45,301 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:45,366 INFO L301 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. [2019-02-27 13:03:45,366 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:03:45,435 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:45,435 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_296|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_296| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_296| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_296| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_296| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_296| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_296| ULTIMATE.start_main_p4) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:03:45,435 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:45,505 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {19866#(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_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:45,508 INFO L273 TraceCheckUtils]: 1: Hoare triple {19866#(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_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19870#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:45,512 INFO L273 TraceCheckUtils]: 2: Hoare triple {19870#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19874#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:03:45,516 INFO L273 TraceCheckUtils]: 3: Hoare triple {19874#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:03:45,516 INFO L273 TraceCheckUtils]: 4: Hoare triple {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:03:45,517 INFO L273 TraceCheckUtils]: 5: Hoare triple {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2019-02-27 13:03:45,517 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:45,518 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:03:45,562 INFO L273 TraceCheckUtils]: 5: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2019-02-27 13:03:45,563 INFO L273 TraceCheckUtils]: 4: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:45,564 INFO L273 TraceCheckUtils]: 3: Hoare triple {19891#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:45,565 INFO L273 TraceCheckUtils]: 2: Hoare triple {19895#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19891#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:03:45,566 INFO L273 TraceCheckUtils]: 1: Hoare triple {19899#(<= (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) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19895#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:03:45,569 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {19899#(<= (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) 1)} is VALID [2019-02-27 13:03:45,569 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:45,589 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:03:45,589 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-27 13:03:45,589 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:03:45,590 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:03:45,590 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:03:45,590 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:03:45,613 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:45,613 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:03:45,613 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:03:45,613 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:03:45,613 INFO L87 Difference]: Start difference. First operand 77 states and 361 transitions. Second operand 10 states. [2019-02-27 13:03:51,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:51,124 INFO L93 Difference]: Finished difference Result 124 states and 454 transitions. [2019-02-27 13:03:51,124 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:03:51,124 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:03:51,124 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:03:51,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:03:51,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 77 transitions. [2019-02-27 13:03:51,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:03:51,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 77 transitions. [2019-02-27 13:03:51,126 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 77 transitions. [2019-02-27 13:03:51,262 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:51,265 INFO L225 Difference]: With dead ends: 124 [2019-02-27 13:03:51,265 INFO L226 Difference]: Without dead ends: 123 [2019-02-27 13:03:51,265 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=91, Invalid=149, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:03:51,266 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2019-02-27 13:03:53,124 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 84. [2019-02-27 13:03:53,124 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:03:53,124 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand 84 states. [2019-02-27 13:03:53,124 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 84 states. [2019-02-27 13:03:53,125 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 84 states. [2019-02-27 13:03:53,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:53,128 INFO L93 Difference]: Finished difference Result 123 states and 452 transitions. [2019-02-27 13:03:53,128 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 452 transitions. [2019-02-27 13:03:53,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:53,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:53,129 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 123 states. [2019-02-27 13:03:53,129 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 123 states. [2019-02-27 13:03:53,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:53,131 INFO L93 Difference]: Finished difference Result 123 states and 452 transitions. [2019-02-27 13:03:53,131 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 452 transitions. [2019-02-27 13:03:53,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:03:53,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:03:53,132 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:03:53,132 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:03:53,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 84 states. [2019-02-27 13:03:53,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 403 transitions. [2019-02-27 13:03:53,134 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 403 transitions. Word has length 6 [2019-02-27 13:03:53,134 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:03:53,134 INFO L480 AbstractCegarLoop]: Abstraction has 84 states and 403 transitions. [2019-02-27 13:03:53,134 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:03:53,134 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 403 transitions. [2019-02-27 13:03:53,134 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:03:53,135 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:03:53,135 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:03:53,135 INFO L423 AbstractCegarLoop]: === Iteration 53 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:03:53,135 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:53,135 INFO L82 PathProgramCache]: Analyzing trace with hash 906167070, now seen corresponding path program 1 times [2019-02-27 13:03:53,135 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:03:53,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:53,136 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:53,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:03:53,136 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:03:53,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:53,354 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {20495#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:03:53,355 INFO L273 TraceCheckUtils]: 1: Hoare triple {20495#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 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]; {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:03:53,356 INFO L273 TraceCheckUtils]: 2: Hoare triple {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:03:53,357 INFO L273 TraceCheckUtils]: 3: Hoare triple {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:53,357 INFO L273 TraceCheckUtils]: 4: Hoare triple {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:53,358 INFO L273 TraceCheckUtils]: 5: Hoare triple {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2019-02-27 13:03:53,358 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:03:53,359 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:53,359 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:03:53,359 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:03:53,359 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [20], [24], [25] [2019-02-27 13:03:53,361 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:03:53,362 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:03:53,369 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:03:53,370 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:03:53,370 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:03:53,370 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:03:53,370 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:03:53,370 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 51 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 51 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:03:53,383 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:03:53,384 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:03:53,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:53,388 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:03:53,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:03:53,391 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:03:53,408 INFO L467 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 [2019-02-27 13:03:53,416 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,417 INFO L467 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 [2019-02-27 13:03:53,428 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,429 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,430 INFO L467 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 [2019-02-27 13:03:53,445 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,446 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,448 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,448 INFO L467 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 [2019-02-27 13:03:53,468 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,470 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,471 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,472 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,473 INFO L467 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 [2019-02-27 13:03:53,477 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:53,509 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:53,527 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:53,548 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:53,558 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:53,580 INFO L301 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. [2019-02-27 13:03:53,581 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:03:53,589 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:53,589 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_300|, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_300| 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|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:53,589 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:53,642 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,643 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,645 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,646 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,647 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,648 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,649 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,650 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,652 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,653 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,654 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,655 INFO L467 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 [2019-02-27 13:03:53,658 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:53,701 INFO L301 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. [2019-02-27 13:03:53,702 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:03:53,720 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:53,720 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_301|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_301| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p4)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_301| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:03:53,720 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:03:53,777 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,778 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,779 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,780 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,782 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,783 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,784 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,785 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,786 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,788 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,789 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,789 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:03:53,790 INFO L467 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 [2019-02-27 13:03:53,794 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:53,838 INFO L301 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. [2019-02-27 13:03:53,838 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:03:53,877 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:53,877 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_302|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_302| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_302| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_302| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_302| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_302| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_302| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:03:53,877 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:53,938 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,939 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,941 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,942 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,943 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,945 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,946 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,947 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,949 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,950 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,951 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:53,952 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:03:53,952 INFO L467 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 [2019-02-27 13:03:53,956 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:54,000 INFO L301 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. [2019-02-27 13:03:54,000 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:03:54,314 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:03:54,314 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_303|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_303| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_303| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= 1 (select |v_#memory_int_303| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_303| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_303| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_303| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:03:54,314 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:03:54,380 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {20501#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:54,383 INFO L273 TraceCheckUtils]: 1: Hoare triple {20501#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20505#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:03:54,385 INFO L273 TraceCheckUtils]: 2: Hoare triple {20505#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20509#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:03:54,390 INFO L273 TraceCheckUtils]: 3: Hoare triple {20509#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:03:54,391 INFO L273 TraceCheckUtils]: 4: Hoare triple {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:03:54,392 INFO L273 TraceCheckUtils]: 5: Hoare triple {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2019-02-27 13:03:54,393 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:54,393 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:03:54,455 INFO L273 TraceCheckUtils]: 5: Hoare triple {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2019-02-27 13:03:54,456 INFO L273 TraceCheckUtils]: 4: Hoare triple {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:54,457 INFO L273 TraceCheckUtils]: 3: Hoare triple {20527#(<= (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]; {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:54,458 INFO L273 TraceCheckUtils]: 2: Hoare triple {20531#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20527#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:54,460 INFO L273 TraceCheckUtils]: 1: Hoare triple {20535#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20531#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:54,463 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {20535#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:03:54,463 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:03:54,483 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:03:54,483 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 11 [2019-02-27 13:03:54,483 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:03:54,483 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2019-02-27 13:03:54,483 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:03:54,483 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-02-27 13:03:54,504 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:54,504 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-02-27 13:03:54,504 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-02-27 13:03:54,504 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=99, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:03:54,504 INFO L87 Difference]: Start difference. First operand 84 states and 403 transitions. Second operand 9 states. [2019-02-27 13:03:57,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:03:57,868 INFO L93 Difference]: Finished difference Result 119 states and 475 transitions. [2019-02-27 13:03:57,868 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:03:57,868 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2019-02-27 13:03:57,868 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:03:57,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-02-27 13:03:57,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2019-02-27 13:03:57,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-02-27 13:03:57,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2019-02-27 13:03:57,869 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 64 transitions. [2019-02-27 13:03:57,986 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:03:57,989 INFO L225 Difference]: With dead ends: 119 [2019-02-27 13:03:57,989 INFO L226 Difference]: Without dead ends: 118 [2019-02-27 13:03:57,989 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:03:57,990 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2019-02-27 13:04:00,212 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 91. [2019-02-27 13:04:00,213 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:04:00,213 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand 91 states. [2019-02-27 13:04:00,213 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand 91 states. [2019-02-27 13:04:00,213 INFO L87 Difference]: Start difference. First operand 118 states. Second operand 91 states. [2019-02-27 13:04:00,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:00,216 INFO L93 Difference]: Finished difference Result 118 states and 473 transitions. [2019-02-27 13:04:00,216 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 473 transitions. [2019-02-27 13:04:00,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:00,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:00,217 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 118 states. [2019-02-27 13:04:00,217 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 118 states. [2019-02-27 13:04:00,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:00,220 INFO L93 Difference]: Finished difference Result 118 states and 473 transitions. [2019-02-27 13:04:00,220 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 473 transitions. [2019-02-27 13:04:00,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:00,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:00,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:04:00,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:04:00,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2019-02-27 13:04:00,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 445 transitions. [2019-02-27 13:04:00,222 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 445 transitions. Word has length 6 [2019-02-27 13:04:00,222 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:04:00,223 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 445 transitions. [2019-02-27 13:04:00,223 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-02-27 13:04:00,223 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 445 transitions. [2019-02-27 13:04:00,223 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:04:00,223 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:04:00,223 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:04:00,223 INFO L423 AbstractCegarLoop]: === Iteration 54 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:04:00,223 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:04:00,224 INFO L82 PathProgramCache]: Analyzing trace with hash 906285674, now seen corresponding path program 1 times [2019-02-27 13:04:00,224 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:04:00,224 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:00,224 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:04:00,224 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:00,224 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:04:00,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:00,474 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {21135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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_p3)))} is VALID [2019-02-27 13:04:00,476 INFO L273 TraceCheckUtils]: 1: Hoare triple {21135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21136#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:04:00,476 INFO L273 TraceCheckUtils]: 2: Hoare triple {21136#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21137#(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 [2019-02-27 13:04:00,478 INFO L273 TraceCheckUtils]: 3: Hoare triple {21137#(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]; {21138#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:04:00,479 INFO L273 TraceCheckUtils]: 4: Hoare triple {21138#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:04:00,480 INFO L273 TraceCheckUtils]: 5: Hoare triple {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2019-02-27 13:04:00,480 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:00,481 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:00,481 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:04:00,481 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:04:00,481 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [20], [23] [2019-02-27 13:04:00,482 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:04:00,482 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:04:00,495 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:04:00,495 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-27 13:04:00,495 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:04:00,495 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:04:00,496 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:00,496 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 52 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 52 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:04:00,504 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:04:00,504 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:04:00,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:00,511 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:04:00,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:00,520 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:04:00,558 INFO L467 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 [2019-02-27 13:04:00,572 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,572 INFO L467 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 [2019-02-27 13:04:00,586 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,588 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,589 INFO L467 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 [2019-02-27 13:04:00,616 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,618 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,620 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,620 INFO L467 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 [2019-02-27 13:04:00,645 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,647 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,648 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,649 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,650 INFO L467 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 [2019-02-27 13:04:00,654 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:00,684 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:00,701 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:00,715 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:00,727 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:00,751 INFO L301 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. [2019-02-27 13:04:00,751 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:04:00,759 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:00,759 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_307|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_307| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:00,760 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:00,821 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,823 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,824 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,826 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,827 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,828 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,830 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,831 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,832 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,833 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,835 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:00,836 INFO L467 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 [2019-02-27 13:04:00,840 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:00,896 INFO L301 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. [2019-02-27 13:04:00,896 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:04:01,980 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:01,980 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_308|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_308| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_308| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p1)) (= .cse0 0) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:04:01,980 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:04:02,051 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,052 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,054 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,055 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,056 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,057 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,059 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,060 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,061 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,062 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,064 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,065 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:02,065 INFO L467 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 66 [2019-02-27 13:04:02,069 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:02,114 INFO L301 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. [2019-02-27 13:04:02,114 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:04:04,118 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:04,118 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_309|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_309| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_309| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_309| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_309| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_309| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_309| ULTIMATE.start_main_p3)))) [2019-02-27 13:04:04,119 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< 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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:04:04,190 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,192 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,193 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,194 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,196 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,197 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,199 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,200 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,201 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,203 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,204 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,205 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:04:04,206 INFO L467 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 68 [2019-02-27 13:04:04,209 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:04,256 INFO L301 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. [2019-02-27 13:04:04,256 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:04:04,313 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:04,313 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_310|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_310| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_310| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_310| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_310| ULTIMATE.start_main_p4) 0) (= (+ (select |v_#memory_int_310| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_310| ULTIMATE.start_main_p5) 1))) [2019-02-27 13:04:04,313 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:04:04,414 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,415 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,417 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,418 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,419 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,421 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,422 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,424 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,425 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,426 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,428 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:04,428 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:04:04,429 INFO L467 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 68 [2019-02-27 13:04:04,433 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:04,482 INFO L301 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. [2019-02-27 13:04:04,482 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:04:04,504 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:04,504 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_311|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_311| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_311| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_311| ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_311| ULTIMATE.start_main_p2) 1)) (= |#memory_int| (store |v_#memory_int_311| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (= (select |v_#memory_int_311| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:04:04,505 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:04:04,558 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {21143#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:04:04,559 INFO L273 TraceCheckUtils]: 1: Hoare triple {21143#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21147#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:04:04,562 INFO L273 TraceCheckUtils]: 2: Hoare triple {21147#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21151#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:04:04,566 INFO L273 TraceCheckUtils]: 3: Hoare triple {21151#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21155#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 13:04:04,574 INFO L273 TraceCheckUtils]: 4: Hoare triple {21155#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21159#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 13:04:04,575 INFO L273 TraceCheckUtils]: 5: Hoare triple {21159#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2019-02-27 13:04:04,576 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:04,576 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:04:04,657 INFO L273 TraceCheckUtils]: 5: Hoare triple {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2019-02-27 13:04:04,657 INFO L273 TraceCheckUtils]: 4: Hoare triple {21166#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:04:04,658 INFO L273 TraceCheckUtils]: 3: Hoare triple {21170#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21166#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:04:04,659 INFO L273 TraceCheckUtils]: 2: Hoare triple {21174#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21170#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:04:04,661 INFO L273 TraceCheckUtils]: 1: Hoare triple {21178#(<= 0 (+ (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21174#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:04:04,664 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {21178#(<= 0 (+ (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:04:04,664 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:04,685 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:04:04,686 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2019-02-27 13:04:04,686 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:04:04,686 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:04:04,686 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:04:04,686 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:04:04,718 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:04:04,718 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:04:04,718 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:04:04,718 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=143, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:04:04,719 INFO L87 Difference]: Start difference. First operand 91 states and 445 transitions. Second operand 12 states. [2019-02-27 13:04:09,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:09,550 INFO L93 Difference]: Finished difference Result 149 states and 594 transitions. [2019-02-27 13:04:09,550 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:04:09,550 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:04:09,550 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:04:09,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:04:09,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2019-02-27 13:04:09,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:04:09,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2019-02-27 13:04:09,551 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 88 transitions. [2019-02-27 13:04:09,827 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:04:09,831 INFO L225 Difference]: With dead ends: 149 [2019-02-27 13:04:09,831 INFO L226 Difference]: Without dead ends: 148 [2019-02-27 13:04:09,831 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 86 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=133, Invalid=209, Unknown=0, NotChecked=0, Total=342 [2019-02-27 13:04:09,832 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2019-02-27 13:04:12,553 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 98. [2019-02-27 13:04:12,553 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:04:12,553 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand 98 states. [2019-02-27 13:04:12,553 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand 98 states. [2019-02-27 13:04:12,554 INFO L87 Difference]: Start difference. First operand 148 states. Second operand 98 states. [2019-02-27 13:04:12,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:12,558 INFO L93 Difference]: Finished difference Result 148 states and 592 transitions. [2019-02-27 13:04:12,558 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 592 transitions. [2019-02-27 13:04:12,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:12,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:12,559 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 148 states. [2019-02-27 13:04:12,559 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 148 states. [2019-02-27 13:04:12,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:12,562 INFO L93 Difference]: Finished difference Result 148 states and 592 transitions. [2019-02-27 13:04:12,562 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 592 transitions. [2019-02-27 13:04:12,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:12,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:12,563 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:04:12,563 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:04:12,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2019-02-27 13:04:12,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 487 transitions. [2019-02-27 13:04:12,565 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 487 transitions. Word has length 6 [2019-02-27 13:04:12,565 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:04:12,565 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 487 transitions. [2019-02-27 13:04:12,565 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:04:12,565 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 487 transitions. [2019-02-27 13:04:12,565 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:04:12,565 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:04:12,565 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:04:12,565 INFO L423 AbstractCegarLoop]: === Iteration 55 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:04:12,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:04:12,566 INFO L82 PathProgramCache]: Analyzing trace with hash 906286234, now seen corresponding path program 1 times [2019-02-27 13:04:12,566 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:04:12,566 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:12,566 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:04:12,566 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:12,566 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:04:12,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:12,718 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {21900#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:04:12,742 INFO L273 TraceCheckUtils]: 1: Hoare triple {21900#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 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]; {21901#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:04:12,761 INFO L273 TraceCheckUtils]: 2: Hoare triple {21901#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21902#(and (not (= ULTIMATE.start_main_p3 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) 0))} is VALID [2019-02-27 13:04:12,775 INFO L273 TraceCheckUtils]: 3: Hoare triple {21902#(and (not (= ULTIMATE.start_main_p3 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) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:04:12,784 INFO L273 TraceCheckUtils]: 4: Hoare triple {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:04:12,785 INFO L273 TraceCheckUtils]: 5: Hoare triple {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2019-02-27 13:04:12,785 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:12,785 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:12,785 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:04:12,785 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:04:12,786 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [20], [24], [25] [2019-02-27 13:04:12,787 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:04:12,787 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:04:12,802 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:04:12,803 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:04:12,803 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:04:12,803 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:04:12,803 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:12,803 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 53 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 53 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:04:12,812 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:04:12,812 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:04:12,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:12,817 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:04:12,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:12,823 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:04:12,840 INFO L467 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 [2019-02-27 13:04:12,847 INFO L467 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 [2019-02-27 13:04:12,859 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:12,860 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:04:12,874 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:12,875 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:12,876 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:04:12,892 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:12,897 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:12,898 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:12,899 INFO L467 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 [2019-02-27 13:04:12,903 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:12,923 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:12,937 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:12,949 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:12,961 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:12,980 INFO L301 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. [2019-02-27 13:04:12,980 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-27 13:04:12,989 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:12,989 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_316|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_316| 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))) [2019-02-27 13:04:12,989 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:13,051 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:13,052 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:13,054 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:13,055 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:13,056 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:13,057 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:13,058 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:13,059 INFO L467 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 [2019-02-27 13:04:13,063 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:13,094 INFO L301 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. [2019-02-27 13:04:13,094 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:04:15,329 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:15,330 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_317|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_317| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_317| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_317| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_317| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_317| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:04:15,330 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:15,425 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,427 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,428 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,429 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,431 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,432 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,433 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,434 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,435 INFO L467 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 45 [2019-02-27 13:04:15,438 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:15,468 INFO L301 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. [2019-02-27 13:04:15,468 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:04:15,477 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:15,477 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_318|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_318| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_318| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 1 (select |v_#memory_int_318| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_318| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_318| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:04:15,477 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:15,530 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,531 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,532 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,534 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,535 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,536 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,537 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:15,537 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:04:15,538 INFO L467 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 47 [2019-02-27 13:04:15,541 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:15,573 INFO L301 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. [2019-02-27 13:04:15,574 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-27 13:04:17,583 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:17,583 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_319|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_319| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_319| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (= (store |v_#memory_int_319| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_319| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_319| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:04:17,583 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:04:17,659 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {21907#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:04:17,661 INFO L273 TraceCheckUtils]: 1: Hoare triple {21907#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21911#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:04:17,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {21911#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21915#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:04:17,665 INFO L273 TraceCheckUtils]: 3: Hoare triple {21915#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:04:17,665 INFO L273 TraceCheckUtils]: 4: Hoare triple {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:04:17,666 INFO L273 TraceCheckUtils]: 5: Hoare triple {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2019-02-27 13:04:17,667 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:17,667 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:04:17,728 INFO L273 TraceCheckUtils]: 5: Hoare triple {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2019-02-27 13:04:17,748 INFO L273 TraceCheckUtils]: 4: Hoare triple {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:04:17,761 INFO L273 TraceCheckUtils]: 3: Hoare triple {21933#(<= (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]; {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:04:17,763 INFO L273 TraceCheckUtils]: 2: Hoare triple {21937#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21933#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:04:17,764 INFO L273 TraceCheckUtils]: 1: Hoare triple {21941#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21937#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:04:17,766 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {21941#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:04:17,766 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:17,785 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:04:17,785 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:04:17,785 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:04:17,785 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:04:17,785 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:04:17,785 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:04:17,804 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:04:17,804 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:04:17,804 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:04:17,804 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=112, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:04:17,804 INFO L87 Difference]: Start difference. First operand 98 states and 487 transitions. Second operand 10 states. [2019-02-27 13:04:22,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:22,214 INFO L93 Difference]: Finished difference Result 139 states and 554 transitions. [2019-02-27 13:04:22,214 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 13:04:22,214 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:04:22,214 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:04:22,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:04:22,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2019-02-27 13:04:22,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:04:22,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2019-02-27 13:04:22,215 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2019-02-27 13:04:22,332 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:04:22,335 INFO L225 Difference]: With dead ends: 139 [2019-02-27 13:04:22,335 INFO L226 Difference]: Without dead ends: 138 [2019-02-27 13:04:22,335 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:04:22,336 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2019-02-27 13:04:25,287 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 101. [2019-02-27 13:04:25,287 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:04:25,287 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand 101 states. [2019-02-27 13:04:25,288 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 101 states. [2019-02-27 13:04:25,288 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 101 states. [2019-02-27 13:04:25,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:25,292 INFO L93 Difference]: Finished difference Result 138 states and 552 transitions. [2019-02-27 13:04:25,292 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 552 transitions. [2019-02-27 13:04:25,292 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:25,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:25,292 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 138 states. [2019-02-27 13:04:25,292 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 138 states. [2019-02-27 13:04:25,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:25,296 INFO L93 Difference]: Finished difference Result 138 states and 552 transitions. [2019-02-27 13:04:25,296 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 552 transitions. [2019-02-27 13:04:25,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:25,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:25,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:04:25,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:04:25,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 101 states. [2019-02-27 13:04:25,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 505 transitions. [2019-02-27 13:04:25,300 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 505 transitions. Word has length 6 [2019-02-27 13:04:25,300 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:04:25,301 INFO L480 AbstractCegarLoop]: Abstraction has 101 states and 505 transitions. [2019-02-27 13:04:25,301 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:04:25,301 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 505 transitions. [2019-02-27 13:04:25,301 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:04:25,301 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:04:25,301 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:04:25,301 INFO L423 AbstractCegarLoop]: === Iteration 56 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:04:25,302 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:04:25,302 INFO L82 PathProgramCache]: Analyzing trace with hash 906397274, now seen corresponding path program 2 times [2019-02-27 13:04:25,302 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:04:25,302 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:25,303 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:04:25,303 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:25,303 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:04:25,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:25,556 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {22631#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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_p3)))} is VALID [2019-02-27 13:04:25,558 INFO L273 TraceCheckUtils]: 1: Hoare triple {22631#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22632#(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_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:04:25,558 INFO L273 TraceCheckUtils]: 2: Hoare triple {22632#(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_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22633#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:04:25,559 INFO L273 TraceCheckUtils]: 3: Hoare triple {22633#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22634#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:04:25,560 INFO L273 TraceCheckUtils]: 4: Hoare triple {22634#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22635#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:04:25,560 INFO L273 TraceCheckUtils]: 5: Hoare triple {22635#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2019-02-27 13:04:25,561 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:25,561 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:25,561 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:04:25,561 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:04:25,561 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:04:25,561 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:25,561 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 54 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 54 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:04:25,571 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:04:25,571 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:04:25,579 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-27 13:04:25,579 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:04:25,580 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:04:25,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:25,586 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:04:25,621 INFO L467 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 [2019-02-27 13:04:25,631 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,632 INFO L467 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 [2019-02-27 13:04:25,644 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,655 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,656 INFO L467 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 [2019-02-27 13:04:25,670 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,670 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,671 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,672 INFO L467 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 [2019-02-27 13:04:25,692 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,693 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,694 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,695 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,695 INFO L467 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 [2019-02-27 13:04:25,700 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:25,731 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:25,748 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:25,761 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:25,773 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:25,797 INFO L301 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. [2019-02-27 13:04:25,797 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:04:25,803 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:25,803 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_323|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_323| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:25,804 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:25,865 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,866 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,868 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,869 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,870 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,872 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,873 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,874 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,876 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,877 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,878 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:25,879 INFO L467 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 [2019-02-27 13:04:25,884 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:25,931 INFO L301 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. [2019-02-27 13:04:25,931 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:04:28,169 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:28,169 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_324|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_324| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_324| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p4)) (= 0 .cse0) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_324| ULTIMATE.start_main_p5 (+ .cse0 1))))) [2019-02-27 13:04:28,169 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:04:28,251 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,252 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,254 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,255 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,256 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,258 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,259 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,261 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,262 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,263 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,265 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,265 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:04:28,266 INFO L467 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 [2019-02-27 13:04:28,269 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:28,319 INFO L301 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. [2019-02-27 13:04:28,319 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:04:28,336 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:28,337 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_325|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_325| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= |#memory_int| (store |v_#memory_int_325| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_325| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_325| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_325| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_325| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:04:28,337 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:04:28,412 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,414 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,416 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,417 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,418 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,420 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,421 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,423 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,424 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,426 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,427 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,428 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:04:28,428 INFO L467 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 [2019-02-27 13:04:28,433 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:28,480 INFO L301 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. [2019-02-27 13:04:28,480 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:04:28,490 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:28,490 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_326|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_326| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_326| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_326| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_326| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_326| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_326| ULTIMATE.start_main_p5) 1))) [2019-02-27 13:04:28,491 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:04:28,571 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,573 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,574 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,576 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,577 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,579 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,580 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,581 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,583 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,584 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,586 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,587 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:28,588 INFO L467 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 66 [2019-02-27 13:04:28,592 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:28,639 INFO L301 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. [2019-02-27 13:04:28,640 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:04:30,779 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:30,779 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_327|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_327| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_327| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_327| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_327| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_327| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_327| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:04:30,779 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:04:30,875 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {22639#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:04:30,878 INFO L273 TraceCheckUtils]: 1: Hoare triple {22639#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:04:30,881 INFO L273 TraceCheckUtils]: 2: Hoare triple {22643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:04:30,886 INFO L273 TraceCheckUtils]: 3: Hoare triple {22647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:04:30,894 INFO L273 TraceCheckUtils]: 4: Hoare triple {22651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22655#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:04:30,895 INFO L273 TraceCheckUtils]: 5: Hoare triple {22655#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2019-02-27 13:04:30,895 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:30,895 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:04:30,992 INFO L273 TraceCheckUtils]: 5: Hoare triple {22659#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2019-02-27 13:04:30,994 INFO L273 TraceCheckUtils]: 4: Hoare triple {22663#(<= 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]; {22659#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:04:30,995 INFO L273 TraceCheckUtils]: 3: Hoare triple {22667#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22663#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:04:30,996 INFO L273 TraceCheckUtils]: 2: Hoare triple {22671#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22667#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:04:30,999 INFO L273 TraceCheckUtils]: 1: Hoare triple {22675#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22671#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:04:31,001 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {22675#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:04:31,002 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:31,021 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:04:31,021 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-27 13:04:31,021 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:04:31,021 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:04:31,021 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:04:31,021 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:04:31,047 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:04:31,047 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:04:31,047 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:04:31,047 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=104, Invalid=168, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:04:31,047 INFO L87 Difference]: Start difference. First operand 101 states and 505 transitions. Second operand 12 states. [2019-02-27 13:04:36,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:36,521 INFO L93 Difference]: Finished difference Result 164 states and 623 transitions. [2019-02-27 13:04:36,521 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:04:36,521 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:04:36,521 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:04:36,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:04:36,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 93 transitions. [2019-02-27 13:04:36,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:04:36,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 93 transitions. [2019-02-27 13:04:36,523 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 93 transitions. [2019-02-27 13:04:36,751 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:04:36,754 INFO L225 Difference]: With dead ends: 164 [2019-02-27 13:04:36,754 INFO L226 Difference]: Without dead ends: 163 [2019-02-27 13:04:36,754 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=136, Invalid=244, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:04:36,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2019-02-27 13:04:39,486 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 100. [2019-02-27 13:04:39,486 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:04:39,486 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand 100 states. [2019-02-27 13:04:39,486 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 100 states. [2019-02-27 13:04:39,486 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 100 states. [2019-02-27 13:04:39,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:39,491 INFO L93 Difference]: Finished difference Result 163 states and 621 transitions. [2019-02-27 13:04:39,491 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 621 transitions. [2019-02-27 13:04:39,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:39,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:39,491 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 163 states. [2019-02-27 13:04:39,491 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 163 states. [2019-02-27 13:04:39,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:39,495 INFO L93 Difference]: Finished difference Result 163 states and 621 transitions. [2019-02-27 13:04:39,495 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 621 transitions. [2019-02-27 13:04:39,495 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:39,495 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:39,495 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:04:39,495 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:04:39,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2019-02-27 13:04:39,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 499 transitions. [2019-02-27 13:04:39,498 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 499 transitions. Word has length 6 [2019-02-27 13:04:39,498 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:04:39,498 INFO L480 AbstractCegarLoop]: Abstraction has 100 states and 499 transitions. [2019-02-27 13:04:39,498 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:04:39,498 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 499 transitions. [2019-02-27 13:04:39,498 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:04:39,498 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:04:39,498 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:04:39,498 INFO L423 AbstractCegarLoop]: === Iteration 57 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:04:39,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:04:39,499 INFO L82 PathProgramCache]: Analyzing trace with hash 893366614, now seen corresponding path program 1 times [2019-02-27 13:04:39,499 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:04:39,499 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:39,499 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:04:39,499 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:39,499 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:04:39,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:39,661 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:04:39,662 INFO L273 TraceCheckUtils]: 1: Hoare triple {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:04:39,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:04:39,664 INFO L273 TraceCheckUtils]: 3: Hoare triple {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:04:39,664 INFO L273 TraceCheckUtils]: 4: Hoare triple {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {23451#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:04:39,665 INFO L273 TraceCheckUtils]: 5: Hoare triple {23451#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2019-02-27 13:04:39,665 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:04:39,665 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:39,665 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:04:39,666 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:04:39,666 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [24], [26], [27] [2019-02-27 13:04:39,668 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:04:39,668 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:04:39,675 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:04:39,676 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:04:39,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:04:39,676 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:04:39,676 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:39,676 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 55 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 55 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:04:39,687 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:04:39,687 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:04:39,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:39,691 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:04:39,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:39,695 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:04:39,726 INFO L467 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 [2019-02-27 13:04:39,734 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,735 INFO L467 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 [2019-02-27 13:04:39,745 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,747 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,747 INFO L467 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 [2019-02-27 13:04:39,766 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,768 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,769 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,770 INFO L467 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 [2019-02-27 13:04:39,791 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,792 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,793 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,795 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,796 INFO L467 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 [2019-02-27 13:04:39,800 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:39,831 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:39,847 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:39,861 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:39,873 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:39,896 INFO L301 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. [2019-02-27 13:04:39,897 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:04:39,904 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:39,904 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_332|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_332| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:39,904 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:39,964 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,966 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,967 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,968 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,970 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,971 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,972 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,974 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,975 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,976 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,978 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:39,978 INFO L467 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 [2019-02-27 13:04:39,983 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:40,032 INFO L301 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. [2019-02-27 13:04:40,032 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:04:40,057 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:40,057 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_333|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_333| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_333| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (= (select |v_#memory_int_333| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:04:40,057 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:40,121 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,122 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,123 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,125 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,126 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,127 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,128 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,130 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,131 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,132 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,133 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,134 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:40,135 INFO L467 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 66 [2019-02-27 13:04:40,140 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:40,186 INFO L301 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. [2019-02-27 13:04:40,187 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:04:42,231 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:42,231 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_334|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_334| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_334| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_334| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_334| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_334| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_334| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:04:42,232 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:42,358 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {23455#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:04:42,360 INFO L273 TraceCheckUtils]: 1: Hoare triple {23455#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23459#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:04:42,363 INFO L273 TraceCheckUtils]: 2: Hoare triple {23459#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:04:42,365 INFO L273 TraceCheckUtils]: 3: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:04:42,365 INFO L273 TraceCheckUtils]: 4: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:04:42,366 INFO L273 TraceCheckUtils]: 5: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2019-02-27 13:04:42,367 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:42,367 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:04:42,411 INFO L273 TraceCheckUtils]: 5: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2019-02-27 13:04:42,412 INFO L273 TraceCheckUtils]: 4: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:04:42,412 INFO L273 TraceCheckUtils]: 3: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:04:42,414 INFO L273 TraceCheckUtils]: 2: Hoare triple {23483#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:04:42,415 INFO L273 TraceCheckUtils]: 1: Hoare triple {23487#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23483#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:04:42,417 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {23487#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:04:42,418 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:42,438 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:04:42,438 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:04:42,438 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:04:42,438 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:04:42,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:04:42,438 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:04:42,460 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:04:42,460 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:04:42,461 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:04:42,461 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:04:42,461 INFO L87 Difference]: Start difference. First operand 100 states and 499 transitions. Second operand 8 states. [2019-02-27 13:04:46,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:46,267 INFO L93 Difference]: Finished difference Result 122 states and 529 transitions. [2019-02-27 13:04:46,267 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:04:46,267 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:04:46,267 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:04:46,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:04:46,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2019-02-27 13:04:46,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:04:46,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2019-02-27 13:04:46,268 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2019-02-27 13:04:46,348 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:04:46,351 INFO L225 Difference]: With dead ends: 122 [2019-02-27 13:04:46,351 INFO L226 Difference]: Without dead ends: 121 [2019-02-27 13:04:46,352 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:04:46,352 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2019-02-27 13:04:49,555 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 102. [2019-02-27 13:04:49,555 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:04:49,555 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 102 states. [2019-02-27 13:04:49,555 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 102 states. [2019-02-27 13:04:49,555 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 102 states. [2019-02-27 13:04:49,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:49,559 INFO L93 Difference]: Finished difference Result 121 states and 527 transitions. [2019-02-27 13:04:49,559 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 527 transitions. [2019-02-27 13:04:49,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:49,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:49,559 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 121 states. [2019-02-27 13:04:49,559 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 121 states. [2019-02-27 13:04:49,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:49,562 INFO L93 Difference]: Finished difference Result 121 states and 527 transitions. [2019-02-27 13:04:49,562 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 527 transitions. [2019-02-27 13:04:49,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:49,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:49,563 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:04:49,563 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:04:49,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2019-02-27 13:04:49,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 511 transitions. [2019-02-27 13:04:49,566 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 511 transitions. Word has length 6 [2019-02-27 13:04:49,566 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:04:49,566 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 511 transitions. [2019-02-27 13:04:49,566 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:04:49,566 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 511 transitions. [2019-02-27 13:04:49,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:04:49,566 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:04:49,567 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:04:49,567 INFO L423 AbstractCegarLoop]: === Iteration 58 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:04:49,567 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:04:49,567 INFO L82 PathProgramCache]: Analyzing trace with hash 893472260, now seen corresponding path program 1 times [2019-02-27 13:04:49,567 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:04:49,567 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:49,568 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:04:49,568 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:49,568 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:04:49,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:49,829 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:04:49,830 INFO L273 TraceCheckUtils]: 1: Hoare triple {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 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]; {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:04:49,831 INFO L273 TraceCheckUtils]: 2: Hoare triple {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 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_p3 := #memory_int[main_p3] + 1]; {24127#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:04:49,832 INFO L273 TraceCheckUtils]: 3: Hoare triple {24127#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24128#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:04:49,833 INFO L273 TraceCheckUtils]: 4: Hoare triple {24128#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:04:49,833 INFO L273 TraceCheckUtils]: 5: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2019-02-27 13:04:49,833 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:04:49,834 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:49,834 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:04:49,834 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:04:49,834 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [24], [25] [2019-02-27 13:04:49,835 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:04:49,835 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:04:49,844 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:04:49,844 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:04:49,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:04:49,845 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:04:49,845 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:49,845 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 56 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 56 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:04:49,854 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:04:49,854 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:04:49,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:49,859 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:04:49,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:49,863 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:04:49,891 INFO L467 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 [2019-02-27 13:04:49,898 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:49,899 INFO L467 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 [2019-02-27 13:04:49,911 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:49,912 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:49,913 INFO L467 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 [2019-02-27 13:04:49,929 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:49,931 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:49,932 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:49,933 INFO L467 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 [2019-02-27 13:04:49,954 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:49,955 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:49,956 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:49,957 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:49,958 INFO L467 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 [2019-02-27 13:04:49,963 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:49,995 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:50,012 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:50,025 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:50,036 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:50,061 INFO L301 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. [2019-02-27 13:04:50,061 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:04:50,069 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:50,070 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_337|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_337| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:50,070 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:50,136 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,137 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,139 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,140 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,141 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,143 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,144 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,146 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,147 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,148 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,150 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,151 INFO L467 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 [2019-02-27 13:04:50,156 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:50,208 INFO L301 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. [2019-02-27 13:04:50,209 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:04:50,257 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:50,258 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_338|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_338| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_338| ULTIMATE.start_main_p5)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_338| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_338| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_338| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_338| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:04:50,258 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:50,318 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,320 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,321 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,322 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,323 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,325 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,326 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,327 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,328 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,329 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,331 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,331 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:04:50,332 INFO L467 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 [2019-02-27 13:04:50,336 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:50,383 INFO L301 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. [2019-02-27 13:04:50,384 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:04:50,441 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:50,441 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_339|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_339| ULTIMATE.start_main_p3))) (and (= 1 (select |v_#memory_int_339| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_339| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_339| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_339| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_339| ULTIMATE.start_main_p2) 0))) [2019-02-27 13:04:50,441 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:50,513 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,513 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,514 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,515 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,516 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,518 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,519 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,520 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,522 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,523 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,524 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,526 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:50,526 INFO L467 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 66 [2019-02-27 13:04:50,531 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:50,577 INFO L301 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. [2019-02-27 13:04:50,577 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:04:50,608 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:50,609 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_340|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_340| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_340| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_340| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:04:50,609 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:50,687 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {24133#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:04:50,690 INFO L273 TraceCheckUtils]: 1: Hoare triple {24133#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24137#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:04:50,694 INFO L273 TraceCheckUtils]: 2: Hoare triple {24137#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24141#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:04:50,698 INFO L273 TraceCheckUtils]: 3: Hoare triple {24141#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-27 13:04:50,698 INFO L273 TraceCheckUtils]: 4: Hoare triple {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-27 13:04:50,699 INFO L273 TraceCheckUtils]: 5: Hoare triple {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2019-02-27 13:04:50,699 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:50,699 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:04:50,750 INFO L273 TraceCheckUtils]: 5: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2019-02-27 13:04:50,751 INFO L273 TraceCheckUtils]: 4: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:04:50,752 INFO L273 TraceCheckUtils]: 3: Hoare triple {24158#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:04:50,753 INFO L273 TraceCheckUtils]: 2: Hoare triple {24162#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24158#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:04:50,754 INFO L273 TraceCheckUtils]: 1: Hoare triple {24166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24162#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:04:50,756 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {24166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:04:50,757 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:04:50,777 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:04:50,777 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-27 13:04:50,777 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:04:50,777 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:04:50,777 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:04:50,778 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:04:50,798 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:04:50,798 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:04:50,799 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:04:50,799 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:04:50,799 INFO L87 Difference]: Start difference. First operand 102 states and 511 transitions. Second operand 10 states. [2019-02-27 13:04:55,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:55,803 INFO L93 Difference]: Finished difference Result 154 states and 624 transitions. [2019-02-27 13:04:55,803 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:04:55,803 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:04:55,803 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:04:55,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:04:55,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2019-02-27 13:04:55,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:04:55,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2019-02-27 13:04:55,804 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 79 transitions. [2019-02-27 13:04:55,944 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:04:55,946 INFO L225 Difference]: With dead ends: 154 [2019-02-27 13:04:55,947 INFO L226 Difference]: Without dead ends: 153 [2019-02-27 13:04:55,947 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:04:55,947 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2019-02-27 13:04:59,499 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 111. [2019-02-27 13:04:59,500 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:04:59,500 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand 111 states. [2019-02-27 13:04:59,500 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand 111 states. [2019-02-27 13:04:59,500 INFO L87 Difference]: Start difference. First operand 153 states. Second operand 111 states. [2019-02-27 13:04:59,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:59,504 INFO L93 Difference]: Finished difference Result 153 states and 622 transitions. [2019-02-27 13:04:59,504 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 622 transitions. [2019-02-27 13:04:59,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:59,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:59,505 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 153 states. [2019-02-27 13:04:59,505 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 153 states. [2019-02-27 13:04:59,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:04:59,508 INFO L93 Difference]: Finished difference Result 153 states and 622 transitions. [2019-02-27 13:04:59,508 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 622 transitions. [2019-02-27 13:04:59,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:04:59,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:04:59,509 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:04:59,509 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:04:59,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2019-02-27 13:04:59,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 566 transitions. [2019-02-27 13:04:59,511 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 566 transitions. Word has length 6 [2019-02-27 13:04:59,512 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:04:59,512 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 566 transitions. [2019-02-27 13:04:59,512 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:04:59,512 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 566 transitions. [2019-02-27 13:04:59,512 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:04:59,512 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:04:59,512 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:04:59,512 INFO L423 AbstractCegarLoop]: === Iteration 59 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:04:59,512 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:04:59,513 INFO L82 PathProgramCache]: Analyzing trace with hash 897358608, now seen corresponding path program 1 times [2019-02-27 13:04:59,513 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:04:59,513 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:59,513 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:04:59,513 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:04:59,513 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:04:59,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:59,746 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:04:59,747 INFO L273 TraceCheckUtils]: 1: Hoare triple {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:04:59,748 INFO L273 TraceCheckUtils]: 2: Hoare triple {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:04:59,749 INFO L273 TraceCheckUtils]: 3: Hoare triple {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:04:59,749 INFO L273 TraceCheckUtils]: 4: Hoare triple {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {24936#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:04:59,749 INFO L273 TraceCheckUtils]: 5: Hoare triple {24936#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2019-02-27 13:04:59,749 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:04:59,750 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:59,750 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:04:59,750 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:04:59,750 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [24], [26], [27] [2019-02-27 13:04:59,751 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:04:59,751 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:04:59,762 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:04:59,762 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:04:59,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:04:59,763 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:04:59,763 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:04:59,763 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 57 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 57 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:04:59,773 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:04:59,773 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:04:59,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:59,779 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 13:04:59,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:04:59,786 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:04:59,803 INFO L467 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 [2019-02-27 13:04:59,812 INFO L467 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 [2019-02-27 13:04:59,823 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:59,824 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:04:59,840 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:59,841 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:59,842 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:04:59,859 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:59,864 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:59,865 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:04:59,866 INFO L467 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 [2019-02-27 13:04:59,870 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:59,891 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:59,905 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:59,918 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:59,928 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:59,950 INFO L301 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. [2019-02-27 13:04:59,951 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-27 13:04:59,959 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:59,959 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_344|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_344| 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|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:04:59,960 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:05:00,035 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,036 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,037 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,039 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,040 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,042 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,043 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,044 INFO L467 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 [2019-02-27 13:05:00,047 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:00,078 INFO L301 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. [2019-02-27 13:05:00,078 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:05:00,115 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:00,116 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_345|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_345| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_345| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_345| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_345| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_345| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:05:00,116 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:05:00,167 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,168 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,170 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,171 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,173 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,174 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,175 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,176 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:00,177 INFO L467 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 47 [2019-02-27 13:05:00,181 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:00,213 INFO L301 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. [2019-02-27 13:05:00,213 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-27 13:05:00,231 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:00,231 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_346|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_346| ULTIMATE.start_main_p5))) (and (= |#memory_int| (store |v_#memory_int_346| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_346| ULTIMATE.start_main_p4) 0) (= 0 (+ (select |v_#memory_int_346| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_346| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2019-02-27 13:05:00,231 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:05:00,315 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {24940#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:05:00,317 INFO L273 TraceCheckUtils]: 1: Hoare triple {24940#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24944#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:05:00,319 INFO L273 TraceCheckUtils]: 2: Hoare triple {24944#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:05:00,320 INFO L273 TraceCheckUtils]: 3: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:05:00,321 INFO L273 TraceCheckUtils]: 4: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p2] <= 0; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:05:00,322 INFO L273 TraceCheckUtils]: 5: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2019-02-27 13:05:00,323 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:00,323 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:05:00,367 INFO L273 TraceCheckUtils]: 5: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2019-02-27 13:05:00,368 INFO L273 TraceCheckUtils]: 4: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:05:00,368 INFO L273 TraceCheckUtils]: 3: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:05:00,369 INFO L273 TraceCheckUtils]: 2: Hoare triple {24968#(<= 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]; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:05:00,371 INFO L273 TraceCheckUtils]: 1: Hoare triple {24972#(<= 0 (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_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24968#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:05:00,373 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {24972#(<= 0 (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_p3))} is VALID [2019-02-27 13:05:00,373 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:00,393 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:05:00,393 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:05:00,394 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:05:00,394 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:05:00,394 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:05:00,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:05:00,414 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:05:00,414 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:05:00,414 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:05:00,415 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:05:00,415 INFO L87 Difference]: Start difference. First operand 111 states and 566 transitions. Second operand 8 states. [2019-02-27 13:05:04,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:04,648 INFO L93 Difference]: Finished difference Result 130 states and 583 transitions. [2019-02-27 13:05:04,648 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 13:05:04,648 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:05:04,648 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:05:04,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:05:04,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2019-02-27 13:05:04,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:05:04,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2019-02-27 13:05:04,649 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 53 transitions. [2019-02-27 13:05:04,725 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:05:04,728 INFO L225 Difference]: With dead ends: 130 [2019-02-27 13:05:04,728 INFO L226 Difference]: Without dead ends: 129 [2019-02-27 13:05:04,729 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:05:04,729 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2019-02-27 13:05:08,402 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 111. [2019-02-27 13:05:08,402 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:05:08,402 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand 111 states. [2019-02-27 13:05:08,402 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand 111 states. [2019-02-27 13:05:08,403 INFO L87 Difference]: Start difference. First operand 129 states. Second operand 111 states. [2019-02-27 13:05:08,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:08,406 INFO L93 Difference]: Finished difference Result 129 states and 581 transitions. [2019-02-27 13:05:08,406 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 581 transitions. [2019-02-27 13:05:08,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:05:08,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:05:08,407 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 129 states. [2019-02-27 13:05:08,407 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 129 states. [2019-02-27 13:05:08,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:08,410 INFO L93 Difference]: Finished difference Result 129 states and 581 transitions. [2019-02-27 13:05:08,410 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 581 transitions. [2019-02-27 13:05:08,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:05:08,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:05:08,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:05:08,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:05:08,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2019-02-27 13:05:08,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 566 transitions. [2019-02-27 13:05:08,413 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 566 transitions. Word has length 6 [2019-02-27 13:05:08,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:05:08,413 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 566 transitions. [2019-02-27 13:05:08,413 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:05:08,413 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 566 transitions. [2019-02-27 13:05:08,413 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:05:08,414 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:05:08,414 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:05:08,414 INFO L423 AbstractCegarLoop]: === Iteration 60 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:05:08,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:05:08,414 INFO L82 PathProgramCache]: Analyzing trace with hash 896931860, now seen corresponding path program 2 times [2019-02-27 13:05:08,414 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:05:08,415 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:05:08,415 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:05:08,415 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:05:08,415 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:05:08,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:05:09,059 WARN L181 SmtUtils]: Spent 387.00 ms on a formula simplification. DAG size of input: 24 DAG size of output: 13 [2019-02-27 13:05:09,160 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {25662#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:05:09,161 INFO L273 TraceCheckUtils]: 1: Hoare triple {25662#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:05:09,162 INFO L273 TraceCheckUtils]: 2: Hoare triple {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:05:09,164 INFO L273 TraceCheckUtils]: 3: Hoare triple {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:05:09,164 INFO L273 TraceCheckUtils]: 4: Hoare triple {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:05:09,165 INFO L273 TraceCheckUtils]: 5: Hoare triple {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2019-02-27 13:05:09,165 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:05:09,165 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:05:09,166 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:05:09,166 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:05:09,166 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:05:09,166 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:05:09,166 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 58 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 58 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:05:09,174 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:05:09,175 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:05:09,182 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-27 13:05:09,182 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:05:09,182 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:05:09,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:05:09,185 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:05:09,214 INFO L467 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 [2019-02-27 13:05:09,222 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,223 INFO L467 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 [2019-02-27 13:05:09,236 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,237 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,238 INFO L467 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 [2019-02-27 13:05:09,256 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,257 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,259 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,260 INFO L467 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 [2019-02-27 13:05:09,282 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,284 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,285 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,286 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,287 INFO L467 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 [2019-02-27 13:05:09,293 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:09,324 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:09,342 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:09,357 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:09,370 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:09,394 INFO L301 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. [2019-02-27 13:05:09,394 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-27 13:05:09,401 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:09,401 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_349|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_349| 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))) [2019-02-27 13:05:09,402 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:05:09,475 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,476 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,478 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,479 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,480 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,481 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,483 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,484 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,485 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,486 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,488 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,488 INFO L467 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 [2019-02-27 13:05:09,494 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:09,549 INFO L301 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. [2019-02-27 13:05:09,550 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:05:09,562 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:09,563 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_350|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_350| ULTIMATE.start_main_p2))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_350| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_350| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_350| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_350| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_350| ULTIMATE.start_main_p5) 0))) [2019-02-27 13:05:09,563 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:05:09,629 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,630 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,631 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,633 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,634 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,635 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,637 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,638 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,639 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,640 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,641 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,643 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,643 INFO L467 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 68 [2019-02-27 13:05:09,648 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:09,695 INFO L301 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. [2019-02-27 13:05:09,695 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:05:09,715 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:09,716 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_351|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_351| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_351| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_351| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_351| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |v_#memory_int_351| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_351| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:05:09,716 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:05:09,779 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,781 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,782 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,783 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,785 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,786 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,788 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,789 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,790 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,792 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,793 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:09,794 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:05:09,795 INFO L467 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 68 [2019-02-27 13:05:09,799 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:09,847 INFO L301 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. [2019-02-27 13:05:09,848 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:05:11,857 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:11,858 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_352|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_352| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_352| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_352| ULTIMATE.start_main_p2) 1)) (= 0 .cse0) (= 1 (select |v_#memory_int_352| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_352| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_352| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:05:11,858 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:05:11,933 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {25668#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:05:11,935 INFO L273 TraceCheckUtils]: 1: Hoare triple {25668#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25672#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:05:11,937 INFO L273 TraceCheckUtils]: 2: Hoare triple {25672#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25676#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:05:11,940 INFO L273 TraceCheckUtils]: 3: Hoare triple {25676#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:05:11,941 INFO L273 TraceCheckUtils]: 4: Hoare triple {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:05:11,942 INFO L273 TraceCheckUtils]: 5: Hoare triple {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2019-02-27 13:05:11,943 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:11,943 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:05:12,008 INFO L273 TraceCheckUtils]: 5: Hoare triple {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2019-02-27 13:05:12,008 INFO L273 TraceCheckUtils]: 4: Hoare triple {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:05:12,009 INFO L273 TraceCheckUtils]: 3: Hoare triple {25694#(<= (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]; {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:05:12,011 INFO L273 TraceCheckUtils]: 2: Hoare triple {25698#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25694#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:05:12,012 INFO L273 TraceCheckUtils]: 1: Hoare triple {25702#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25698#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:05:12,015 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {25702#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:05:12,015 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:12,034 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:05:12,035 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 11 [2019-02-27 13:05:12,035 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:05:12,035 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2019-02-27 13:05:12,035 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:05:12,035 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-02-27 13:05:12,063 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:05:12,063 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-02-27 13:05:12,063 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-02-27 13:05:12,063 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:05:12,063 INFO L87 Difference]: Start difference. First operand 111 states and 566 transitions. Second operand 9 states. [2019-02-27 13:05:17,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:17,437 INFO L93 Difference]: Finished difference Result 160 states and 682 transitions. [2019-02-27 13:05:17,437 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 13:05:17,437 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2019-02-27 13:05:17,437 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:05:17,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-02-27 13:05:17,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2019-02-27 13:05:17,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-02-27 13:05:17,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2019-02-27 13:05:17,438 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2019-02-27 13:05:17,599 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:05:17,604 INFO L225 Difference]: With dead ends: 160 [2019-02-27 13:05:17,604 INFO L226 Difference]: Without dead ends: 159 [2019-02-27 13:05:17,604 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=78, Invalid=132, Unknown=0, NotChecked=0, Total=210 [2019-02-27 13:05:17,604 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2019-02-27 13:05:21,386 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 117. [2019-02-27 13:05:21,386 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:05:21,386 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand 117 states. [2019-02-27 13:05:21,386 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 117 states. [2019-02-27 13:05:21,386 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 117 states. [2019-02-27 13:05:21,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:21,391 INFO L93 Difference]: Finished difference Result 159 states and 680 transitions. [2019-02-27 13:05:21,391 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 680 transitions. [2019-02-27 13:05:21,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:05:21,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:05:21,392 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 159 states. [2019-02-27 13:05:21,392 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 159 states. [2019-02-27 13:05:21,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:21,396 INFO L93 Difference]: Finished difference Result 159 states and 680 transitions. [2019-02-27 13:05:21,396 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 680 transitions. [2019-02-27 13:05:21,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:05:21,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:05:21,397 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:05:21,397 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:05:21,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2019-02-27 13:05:21,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 603 transitions. [2019-02-27 13:05:21,400 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 603 transitions. Word has length 6 [2019-02-27 13:05:21,400 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:05:21,400 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 603 transitions. [2019-02-27 13:05:21,400 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-02-27 13:05:21,400 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 603 transitions. [2019-02-27 13:05:21,400 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:05:21,400 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:05:21,401 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:05:21,401 INFO L423 AbstractCegarLoop]: === Iteration 61 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:05:21,401 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:05:21,401 INFO L82 PathProgramCache]: Analyzing trace with hash 897479758, now seen corresponding path program 1 times [2019-02-27 13:05:21,401 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:05:21,402 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:05:21,402 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:05:21,402 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:05:21,402 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:05:21,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:05:21,534 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {26508#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:05:21,535 INFO L273 TraceCheckUtils]: 1: Hoare triple {26508#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:05:21,536 INFO L273 TraceCheckUtils]: 2: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:05:21,536 INFO L273 TraceCheckUtils]: 3: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:05:21,537 INFO L273 TraceCheckUtils]: 4: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:05:21,538 INFO L273 TraceCheckUtils]: 5: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2019-02-27 13:05:21,538 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:21,538 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:05:21,538 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:05:21,539 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:05:21,539 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [26], [28], [29] [2019-02-27 13:05:21,542 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:05:21,542 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:05:21,559 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:05:21,559 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 13:05:21,559 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:05:21,560 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:05:21,560 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:05:21,560 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 59 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 59 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:05:21,570 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:05:21,571 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:05:21,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:05:21,575 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 6 conjunts are in the unsatisfiable core [2019-02-27 13:05:21,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:05:21,578 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:05:21,600 INFO L467 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 [2019-02-27 13:05:21,608 INFO L467 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 [2019-02-27 13:05:21,620 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,621 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:05:21,642 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,644 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,645 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:05:21,663 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,668 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,669 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,670 INFO L467 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 [2019-02-27 13:05:21,675 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:21,696 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:21,710 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:21,722 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:21,734 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:21,753 INFO L301 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. [2019-02-27 13:05:21,753 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-27 13:05:21,762 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:21,763 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_356|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store (store (store (store (store |v_#memory_int_356| 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|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:05:21,763 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:05:21,825 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,827 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,828 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,830 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,831 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,832 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,834 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:21,835 INFO L467 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 [2019-02-27 13:05:21,839 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:21,869 INFO L301 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. [2019-02-27 13:05:21,870 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-27 13:05:21,939 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:21,940 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_357|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_357| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_357| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_357| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_357| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_357| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:05:21,940 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:05:22,068 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {26513#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:05:22,070 INFO L273 TraceCheckUtils]: 1: Hoare triple {26513#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:05:22,071 INFO L273 TraceCheckUtils]: 2: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p1] >= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:05:22,072 INFO L273 TraceCheckUtils]: 3: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p2] <= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:05:22,073 INFO L273 TraceCheckUtils]: 4: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p3] >= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:05:22,074 INFO L273 TraceCheckUtils]: 5: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2019-02-27 13:05:22,075 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:22,075 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:05:22,102 INFO L273 TraceCheckUtils]: 5: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2019-02-27 13:05:22,103 INFO L273 TraceCheckUtils]: 4: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:05:22,103 INFO L273 TraceCheckUtils]: 3: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:05:22,104 INFO L273 TraceCheckUtils]: 2: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:05:22,105 INFO L273 TraceCheckUtils]: 1: Hoare triple {26543#(<= (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:05:22,107 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {26543#(<= (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:05:22,107 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:22,125 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-27 13:05:22,126 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2019-02-27 13:05:22,126 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 13:05:22,126 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 6 [2019-02-27 13:05:22,126 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:05:22,126 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-27 13:05:22,132 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:05:22,132 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-27 13:05:22,132 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-27 13:05:22,132 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:05:22,132 INFO L87 Difference]: Start difference. First operand 117 states and 603 transitions. Second operand 4 states. [2019-02-27 13:05:28,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:28,552 INFO L93 Difference]: Finished difference Result 121 states and 607 transitions. [2019-02-27 13:05:28,552 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-27 13:05:28,552 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 6 [2019-02-27 13:05:28,552 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:05:28,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 13:05:28,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2019-02-27 13:05:28,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 13:05:28,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2019-02-27 13:05:28,559 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 25 transitions. [2019-02-27 13:05:28,584 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:05:28,588 INFO L225 Difference]: With dead ends: 121 [2019-02-27 13:05:28,588 INFO L226 Difference]: Without dead ends: 117 [2019-02-27 13:05:28,588 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:05:28,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2019-02-27 13:05:32,487 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 114. [2019-02-27 13:05:32,487 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:05:32,487 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand 114 states. [2019-02-27 13:05:32,487 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 114 states. [2019-02-27 13:05:32,487 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 114 states. [2019-02-27 13:05:32,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:32,491 INFO L93 Difference]: Finished difference Result 117 states and 602 transitions. [2019-02-27 13:05:32,491 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 602 transitions. [2019-02-27 13:05:32,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:05:32,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:05:32,492 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 117 states. [2019-02-27 13:05:32,492 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 117 states. [2019-02-27 13:05:32,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:32,495 INFO L93 Difference]: Finished difference Result 117 states and 602 transitions. [2019-02-27 13:05:32,495 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 602 transitions. [2019-02-27 13:05:32,495 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:05:32,495 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:05:32,495 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:05:32,495 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:05:32,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2019-02-27 13:05:32,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 599 transitions. [2019-02-27 13:05:32,498 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 599 transitions. Word has length 6 [2019-02-27 13:05:32,498 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:05:32,498 INFO L480 AbstractCegarLoop]: Abstraction has 114 states and 599 transitions. [2019-02-27 13:05:32,498 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-27 13:05:32,498 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 599 transitions. [2019-02-27 13:05:32,498 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:05:32,498 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:05:32,499 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:05:32,499 INFO L423 AbstractCegarLoop]: === Iteration 62 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:05:32,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:05:32,499 INFO L82 PathProgramCache]: Analyzing trace with hash 897162312, now seen corresponding path program 2 times [2019-02-27 13:05:32,499 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:05:32,499 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:05:32,500 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:05:32,500 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:05:32,500 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:05:32,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:05:32,976 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {27211#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:05:32,978 INFO L273 TraceCheckUtils]: 1: Hoare triple {27211#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27212#(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_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:05:32,979 INFO L273 TraceCheckUtils]: 2: Hoare triple {27212#(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_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:05:32,980 INFO L273 TraceCheckUtils]: 3: Hoare triple {27213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {27214#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:05:32,981 INFO L273 TraceCheckUtils]: 4: Hoare triple {27214#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {27215#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:05:32,981 INFO L273 TraceCheckUtils]: 5: Hoare triple {27215#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2019-02-27 13:05:32,982 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:32,982 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:05:32,982 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:05:32,982 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:05:32,983 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:05:32,983 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:05:32,983 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 60 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 60 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:05:32,992 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:05:32,992 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:05:32,999 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-27 13:05:32,999 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:05:33,000 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:05:33,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:05:33,013 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:05:33,031 INFO L467 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 [2019-02-27 13:05:33,039 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,040 INFO L467 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 [2019-02-27 13:05:33,052 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,054 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,054 INFO L467 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 [2019-02-27 13:05:33,070 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,072 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,073 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,074 INFO L467 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 [2019-02-27 13:05:33,096 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,098 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,100 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,101 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,102 INFO L467 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 [2019-02-27 13:05:33,107 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:33,140 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:33,155 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:33,170 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:33,183 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:33,204 INFO L301 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. [2019-02-27 13:05:33,204 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:05:33,210 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:33,211 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_359|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_359| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:05:33,211 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:05:33,283 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,284 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,286 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,287 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,288 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,290 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,291 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,292 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,294 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,295 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,296 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,297 INFO L467 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 [2019-02-27 13:05:33,300 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:33,348 INFO L301 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. [2019-02-27 13:05:33,348 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:05:33,512 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:33,512 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_360|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_360| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_360| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_360| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= (select |v_#memory_int_360| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_360| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_360| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:05:33,512 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:05:33,591 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,593 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,594 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,595 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,596 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,597 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,599 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,600 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,601 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,603 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,604 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,605 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,606 INFO L467 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 68 [2019-02-27 13:05:33,611 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:33,658 INFO L301 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. [2019-02-27 13:05:33,659 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:05:33,712 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:33,712 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_361|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_361| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_361| ULTIMATE.start_main_p2) 1)) (= 0 (select |v_#memory_int_361| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_361| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_361| ULTIMATE.start_main_p5)) (= .cse0 0) (= (store |v_#memory_int_361| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:05:33,713 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:05:33,788 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,790 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,791 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,793 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,794 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,795 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,797 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,798 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,799 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,800 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,801 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,802 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,803 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:05:33,804 INFO L467 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 68 [2019-02-27 13:05:33,809 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:33,859 INFO L301 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. [2019-02-27 13:05:33,860 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:05:33,872 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:33,872 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_362|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_362| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_362| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_362| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_362| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_362| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_362| ULTIMATE.start_main_p3)))) [2019-02-27 13:05:33,872 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:05:33,944 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,946 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,947 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,949 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,950 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,951 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,953 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,954 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,955 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,957 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:33,991 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:34,012 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:34,027 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:05:34,028 INFO L467 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 68 [2019-02-27 13:05:34,056 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:34,158 INFO L301 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. [2019-02-27 13:05:34,159 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:05:34,172 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:34,173 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_363|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_363| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_363| ULTIMATE.start_main_p3)) (= .cse0 0) (= (store |v_#memory_int_363| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_363| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_363| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_363| ULTIMATE.start_main_p1)))) [2019-02-27 13:05:34,173 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:05:34,217 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {27219#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:05:34,220 INFO L273 TraceCheckUtils]: 1: Hoare triple {27219#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27223#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:05:34,224 INFO L273 TraceCheckUtils]: 2: Hoare triple {27223#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27227#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:05:34,227 INFO L273 TraceCheckUtils]: 3: Hoare triple {27227#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {27231#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:05:34,236 INFO L273 TraceCheckUtils]: 4: Hoare triple {27231#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {27235#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 13:05:34,237 INFO L273 TraceCheckUtils]: 5: Hoare triple {27235#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2019-02-27 13:05:34,243 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:34,244 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:05:34,352 INFO L273 TraceCheckUtils]: 5: Hoare triple {27239#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2019-02-27 13:05:34,353 INFO L273 TraceCheckUtils]: 4: Hoare triple {27243#(<= 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]; {27239#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:05:34,354 INFO L273 TraceCheckUtils]: 3: Hoare triple {27247#(<= 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]; {27243#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:05:34,356 INFO L273 TraceCheckUtils]: 2: Hoare triple {27251#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27247#(<= 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 [2019-02-27 13:05:34,358 INFO L273 TraceCheckUtils]: 1: Hoare triple {27255#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27251#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:05:34,360 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {27255#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:05:34,361 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:34,380 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:05:34,380 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-27 13:05:34,380 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:05:34,381 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:05:34,381 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:05:34,381 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:05:34,408 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:05:34,409 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:05:34,409 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:05:34,409 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:05:34,409 INFO L87 Difference]: Start difference. First operand 114 states and 599 transitions. Second operand 12 states. [2019-02-27 13:05:42,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:42,907 INFO L93 Difference]: Finished difference Result 186 states and 791 transitions. [2019-02-27 13:05:42,907 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:05:42,907 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:05:42,907 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:05:42,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:05:42,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2019-02-27 13:05:42,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:05:42,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2019-02-27 13:05:42,908 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 88 transitions. [2019-02-27 13:05:43,129 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:05:43,134 INFO L225 Difference]: With dead ends: 186 [2019-02-27 13:05:43,134 INFO L226 Difference]: Without dead ends: 184 [2019-02-27 13:05:43,134 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:05:43,134 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2019-02-27 13:05:47,840 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 121. [2019-02-27 13:05:47,840 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:05:47,840 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand 121 states. [2019-02-27 13:05:47,840 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand 121 states. [2019-02-27 13:05:47,840 INFO L87 Difference]: Start difference. First operand 184 states. Second operand 121 states. [2019-02-27 13:05:47,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:47,846 INFO L93 Difference]: Finished difference Result 184 states and 785 transitions. [2019-02-27 13:05:47,846 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 785 transitions. [2019-02-27 13:05:47,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:05:47,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:05:47,846 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 184 states. [2019-02-27 13:05:47,846 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 184 states. [2019-02-27 13:05:47,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:47,851 INFO L93 Difference]: Finished difference Result 184 states and 785 transitions. [2019-02-27 13:05:47,851 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 785 transitions. [2019-02-27 13:05:47,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:05:47,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:05:47,851 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:05:47,851 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:05:47,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 121 states. [2019-02-27 13:05:47,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 632 transitions. [2019-02-27 13:05:47,854 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 632 transitions. Word has length 6 [2019-02-27 13:05:47,854 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:05:47,854 INFO L480 AbstractCegarLoop]: Abstraction has 121 states and 632 transitions. [2019-02-27 13:05:47,854 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:05:47,854 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 632 transitions. [2019-02-27 13:05:47,854 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:05:47,855 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:05:47,855 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:05:47,855 INFO L423 AbstractCegarLoop]: === Iteration 63 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:05:47,855 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:05:47,855 INFO L82 PathProgramCache]: Analyzing trace with hash 897179862, now seen corresponding path program 1 times [2019-02-27 13:05:47,855 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:05:47,856 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:05:47,856 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:05:47,856 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:05:47,856 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:05:47,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:05:48,003 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:05:48,004 INFO L273 TraceCheckUtils]: 1: Hoare triple {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:05:48,005 INFO L273 TraceCheckUtils]: 2: Hoare triple {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:05:48,006 INFO L273 TraceCheckUtils]: 3: Hoare triple {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} assume #memory_int[main_p1] >= 0; {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:05:48,007 INFO L273 TraceCheckUtils]: 4: Hoare triple {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} assume #memory_int[main_p2] <= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:05:48,007 INFO L273 TraceCheckUtils]: 5: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2019-02-27 13:05:48,008 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:05:48,008 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:05:48,008 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:05:48,008 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-27 13:05:48,008 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [24], [26], [27] [2019-02-27 13:05:48,009 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:05:48,009 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:05:48,023 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:05:48,024 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:05:48,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:05:48,024 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:05:48,024 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:05:48,024 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 61 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 61 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:05:48,035 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:05:48,035 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:05:48,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:05:48,040 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 13:05:48,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:05:48,046 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:05:48,072 INFO L467 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 [2019-02-27 13:05:48,082 INFO L467 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 [2019-02-27 13:05:48,101 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,101 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:05:48,123 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,125 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,125 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:05:48,157 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,165 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,168 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,168 INFO L467 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 [2019-02-27 13:05:48,173 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:48,207 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:48,233 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:48,252 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:48,268 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:05:48,299 INFO L301 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. [2019-02-27 13:05:48,300 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-27 13:05:48,307 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:48,308 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_368|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_368| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:05:48,308 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:05:48,377 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,379 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,380 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,381 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,383 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,384 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,385 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:48,386 INFO L467 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 [2019-02-27 13:05:48,391 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:48,421 INFO L301 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. [2019-02-27 13:05:48,421 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-27 13:05:49,768 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:49,768 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_369|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_369| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_369| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_369| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_369| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_369| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:05:49,769 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:05:49,838 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:49,840 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:49,841 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:49,842 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:49,844 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:49,845 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:49,846 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:49,847 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:05:49,848 INFO L467 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 47 [2019-02-27 13:05:49,852 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:05:49,883 INFO L301 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. [2019-02-27 13:05:49,883 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-27 13:05:49,894 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:05:49,895 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_370|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_370| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_370| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= 0 (+ (select |v_#memory_int_370| ULTIMATE.start_main_p2) 1)) (= (store |v_#memory_int_370| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_370| ULTIMATE.start_main_p5) 0))) [2019-02-27 13:05:49,895 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:05:49,988 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {28170#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:05:49,991 INFO L273 TraceCheckUtils]: 1: Hoare triple {28170#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28174#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:05:49,993 INFO L273 TraceCheckUtils]: 2: Hoare triple {28174#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 13:05:49,994 INFO L273 TraceCheckUtils]: 3: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume #memory_int[main_p1] >= 0; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 13:05:49,995 INFO L273 TraceCheckUtils]: 4: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume #memory_int[main_p2] <= 0; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 13:05:49,996 INFO L273 TraceCheckUtils]: 5: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2019-02-27 13:05:49,997 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:49,997 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:05:50,035 INFO L273 TraceCheckUtils]: 5: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2019-02-27 13:05:50,036 INFO L273 TraceCheckUtils]: 4: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:05:50,036 INFO L273 TraceCheckUtils]: 3: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:05:50,037 INFO L273 TraceCheckUtils]: 2: Hoare triple {28197#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:05:50,038 INFO L273 TraceCheckUtils]: 1: Hoare triple {28201#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28197#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-02-27 13:05:50,040 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {28201#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2019-02-27 13:05:50,041 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:05:50,060 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:05:50,061 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-27 13:05:50,061 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:05:50,061 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:05:50,061 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:05:50,061 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:05:50,079 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:05:50,079 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:05:50,079 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:05:50,080 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=52, Unknown=0, NotChecked=0, Total=90 [2019-02-27 13:05:50,080 INFO L87 Difference]: Start difference. First operand 121 states and 632 transitions. Second operand 8 states. [2019-02-27 13:05:56,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:05:56,561 INFO L93 Difference]: Finished difference Result 161 states and 745 transitions. [2019-02-27 13:05:56,561 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 13:05:56,561 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:05:56,561 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:05:56,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:05:56,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2019-02-27 13:05:56,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:05:56,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2019-02-27 13:05:56,564 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2019-02-27 13:05:56,648 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:05:56,651 INFO L225 Difference]: With dead ends: 161 [2019-02-27 13:05:56,651 INFO L226 Difference]: Without dead ends: 160 [2019-02-27 13:05:56,651 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-27 13:05:56,652 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2019-02-27 13:06:02,306 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 133. [2019-02-27 13:06:02,307 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:06:02,307 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand 133 states. [2019-02-27 13:06:02,307 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand 133 states. [2019-02-27 13:06:02,307 INFO L87 Difference]: Start difference. First operand 160 states. Second operand 133 states. [2019-02-27 13:06:02,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:06:02,317 INFO L93 Difference]: Finished difference Result 160 states and 742 transitions. [2019-02-27 13:06:02,317 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 742 transitions. [2019-02-27 13:06:02,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:06:02,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:06:02,318 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 160 states. [2019-02-27 13:06:02,318 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 160 states. [2019-02-27 13:06:02,327 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:06:02,327 INFO L93 Difference]: Finished difference Result 160 states and 742 transitions. [2019-02-27 13:06:02,328 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 742 transitions. [2019-02-27 13:06:02,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:06:02,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:06:02,328 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:06:02,328 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:06:02,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2019-02-27 13:06:02,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 714 transitions. [2019-02-27 13:06:02,335 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 714 transitions. Word has length 6 [2019-02-27 13:06:02,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:06:02,335 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 714 transitions. [2019-02-27 13:06:02,335 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:06:02,336 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 714 transitions. [2019-02-27 13:06:02,336 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:06:02,336 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:06:02,336 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:06:02,336 INFO L423 AbstractCegarLoop]: === Iteration 64 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:06:02,336 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:06:02,337 INFO L82 PathProgramCache]: Analyzing trace with hash 900993110, now seen corresponding path program 2 times [2019-02-27 13:06:02,337 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:06:02,337 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:06:02,338 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:06:02,338 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:06:02,338 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:06:02,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:06:02,445 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {29057#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:06:02,446 INFO L273 TraceCheckUtils]: 1: Hoare triple {29057#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29058#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:06:02,447 INFO L273 TraceCheckUtils]: 2: Hoare triple {29058#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:06:02,447 INFO L273 TraceCheckUtils]: 3: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:06:02,448 INFO L273 TraceCheckUtils]: 4: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:06:02,449 INFO L273 TraceCheckUtils]: 5: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2019-02-27 13:06:02,449 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:06:02,449 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:06:02,449 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:06:02,449 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:06:02,450 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:06:02,450 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:06:02,450 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 62 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 62 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:06:02,460 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:06:02,460 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:06:02,465 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2019-02-27 13:06:02,465 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:06:02,465 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 6 conjunts are in the unsatisfiable core [2019-02-27 13:06:02,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:06:02,469 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:06:02,493 INFO L467 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 [2019-02-27 13:06:02,502 INFO L467 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 [2019-02-27 13:06:02,513 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-27 13:06:02,531 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,532 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-27 13:06:02,547 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,554 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,554 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-27 13:06:02,559 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:02,576 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:02,588 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:02,600 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:02,613 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:02,630 INFO L301 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. [2019-02-27 13:06:02,630 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2019-02-27 13:06:02,636 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:02,636 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_373|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_373| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:06:02,637 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:06:02,693 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,694 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,695 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,697 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,697 INFO L467 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 [2019-02-27 13:06:02,701 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:02,718 INFO L301 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. [2019-02-27 13:06:02,719 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-02-27 13:06:02,728 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:02,728 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_374|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_374| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_374| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_374| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_374| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-27 13:06:02,729 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:06:02,786 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,787 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,789 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,790 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,791 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:02,792 INFO L467 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 26 treesize of output 28 [2019-02-27 13:06:02,795 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:02,813 INFO L301 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. [2019-02-27 13:06:02,813 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-02-27 13:06:04,818 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:04,818 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_375|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_375| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_375| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_375| ULTIMATE.start_main_p5) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_375| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2019-02-27 13:06:04,818 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:06:04,876 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {29063#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:06:04,878 INFO L273 TraceCheckUtils]: 1: Hoare triple {29063#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29067#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:06:04,880 INFO L273 TraceCheckUtils]: 2: Hoare triple {29067#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:06:04,881 INFO L273 TraceCheckUtils]: 3: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:06:04,882 INFO L273 TraceCheckUtils]: 4: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:06:04,883 INFO L273 TraceCheckUtils]: 5: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2019-02-27 13:06:04,883 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:06:04,883 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:06:04,929 INFO L273 TraceCheckUtils]: 5: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2019-02-27 13:06:04,930 INFO L273 TraceCheckUtils]: 4: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:06:04,930 INFO L273 TraceCheckUtils]: 3: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:06:04,931 INFO L273 TraceCheckUtils]: 2: Hoare triple {29091#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:06:04,933 INFO L273 TraceCheckUtils]: 1: Hoare triple {29095#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29091#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:06:04,935 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {29095#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:06:04,935 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:06:04,955 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:06:04,956 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:06:04,956 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:06:04,956 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:06:04,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:06:04,956 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:06:04,972 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:06:04,972 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:06:04,972 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:06:04,972 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:06:04,973 INFO L87 Difference]: Start difference. First operand 133 states and 714 transitions. Second operand 8 states. [2019-02-27 13:06:11,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:06:11,759 INFO L93 Difference]: Finished difference Result 172 states and 801 transitions. [2019-02-27 13:06:11,759 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:06:11,759 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-27 13:06:11,759 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:06:11,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:06:11,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2019-02-27 13:06:11,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:06:11,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2019-02-27 13:06:11,760 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 66 transitions. [2019-02-27 13:06:11,876 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:06:11,879 INFO L225 Difference]: With dead ends: 172 [2019-02-27 13:06:11,880 INFO L226 Difference]: Without dead ends: 170 [2019-02-27 13:06:11,880 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-27 13:06:11,880 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 170 states. [2019-02-27 13:06:17,996 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 170 to 137. [2019-02-27 13:06:17,996 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:06:17,996 INFO L82 GeneralOperation]: Start isEquivalent. First operand 170 states. Second operand 137 states. [2019-02-27 13:06:17,996 INFO L74 IsIncluded]: Start isIncluded. First operand 170 states. Second operand 137 states. [2019-02-27 13:06:17,997 INFO L87 Difference]: Start difference. First operand 170 states. Second operand 137 states. [2019-02-27 13:06:18,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:06:18,002 INFO L93 Difference]: Finished difference Result 170 states and 798 transitions. [2019-02-27 13:06:18,002 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 798 transitions. [2019-02-27 13:06:18,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:06:18,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:06:18,003 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 170 states. [2019-02-27 13:06:18,003 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 170 states. [2019-02-27 13:06:18,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:06:18,009 INFO L93 Difference]: Finished difference Result 170 states and 798 transitions. [2019-02-27 13:06:18,009 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 798 transitions. [2019-02-27 13:06:18,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:06:18,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:06:18,010 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:06:18,010 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:06:18,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2019-02-27 13:06:18,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 738 transitions. [2019-02-27 13:06:18,016 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 738 transitions. Word has length 6 [2019-02-27 13:06:18,016 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:06:18,016 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 738 transitions. [2019-02-27 13:06:18,016 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:06:18,016 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 738 transitions. [2019-02-27 13:06:18,017 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:06:18,017 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:06:18,017 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:06:18,017 INFO L423 AbstractCegarLoop]: === Iteration 65 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:06:18,017 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:06:18,017 INFO L82 PathProgramCache]: Analyzing trace with hash 900629352, now seen corresponding path program 3 times [2019-02-27 13:06:18,018 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:06:18,018 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:06:18,018 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:06:18,018 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:06:18,019 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:06:18,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:06:18,555 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {29997#(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_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:06:18,557 INFO L273 TraceCheckUtils]: 1: Hoare triple {29997#(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_p2 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_p3 := #memory_int[main_p3] + 1]; {29998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:06:18,558 INFO L273 TraceCheckUtils]: 2: Hoare triple {29998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {29999#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:06:18,559 INFO L273 TraceCheckUtils]: 3: Hoare triple {29999#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {30000#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:06:18,560 INFO L273 TraceCheckUtils]: 4: Hoare triple {30000#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {30001#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:06:18,560 INFO L273 TraceCheckUtils]: 5: Hoare triple {30001#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2019-02-27 13:06:18,561 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:06:18,561 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:06:18,561 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:06:18,561 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:06:18,561 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:06:18,562 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:06:18,562 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 63 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 63 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:06:18,571 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2019-02-27 13:06:18,571 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2019-02-27 13:06:18,576 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2019-02-27 13:06:18,576 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:06:18,577 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:06:18,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:06:18,580 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:06:18,602 INFO L467 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 [2019-02-27 13:06:18,611 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,612 INFO L467 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 [2019-02-27 13:06:18,624 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,625 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,626 INFO L467 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 [2019-02-27 13:06:18,644 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,645 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,646 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,647 INFO L467 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 [2019-02-27 13:06:18,684 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,686 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,689 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,691 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,691 INFO L467 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 [2019-02-27 13:06:18,697 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:18,746 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:18,768 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:18,783 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:18,801 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:18,829 INFO L301 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. [2019-02-27 13:06:18,829 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:06:18,836 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:18,837 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_378|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_378| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:06:18,837 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:06:18,941 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,943 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,945 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,947 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,949 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,952 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,955 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,957 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,959 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,962 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,965 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:18,965 INFO L467 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 [2019-02-27 13:06:18,974 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:19,033 INFO L301 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. [2019-02-27 13:06:19,033 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:06:19,542 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:19,543 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_379|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_379| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_379| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_379| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_379| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_379| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_379| ULTIMATE.start_main_p1) 0))) [2019-02-27 13:06:19,543 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:06:19,624 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,626 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,627 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,628 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,629 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,631 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,632 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,633 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,634 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,636 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,637 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,637 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:06:19,638 INFO L467 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 [2019-02-27 13:06:19,644 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:19,687 INFO L301 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. [2019-02-27 13:06:19,688 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:06:19,707 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:19,707 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_380|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_380| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_380| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_380| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_380| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_380| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_380| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:06:19,707 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:06:19,786 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,787 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,788 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,789 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,791 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,792 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,793 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,794 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,796 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,797 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,798 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,799 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:19,800 INFO L467 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 66 [2019-02-27 13:06:19,806 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:19,858 INFO L301 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. [2019-02-27 13:06:19,858 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:06:21,871 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:21,872 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_381|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_381| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_381| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_381| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_381| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_381| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_381| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:06:21,872 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:06:21,958 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:21,960 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:21,961 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:21,962 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:21,964 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:21,965 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:21,966 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:21,968 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:21,969 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:21,970 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:21,971 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:06:21,972 INFO L467 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 68 [2019-02-27 13:06:21,978 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:22,026 INFO L301 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. [2019-02-27 13:06:22,026 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:06:22,045 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:22,046 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_382|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_382| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_382| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_382| ULTIMATE.start_main_p4) 1)) (= 1 (select |v_#memory_int_382| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_382| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_382| ULTIMATE.start_main_p5) 0))) [2019-02-27 13:06:22,046 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:06:22,118 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {30005#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:06:22,121 INFO L273 TraceCheckUtils]: 1: Hoare triple {30005#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {30009#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:06:22,123 INFO L273 TraceCheckUtils]: 2: Hoare triple {30009#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {30013#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:06:22,126 INFO L273 TraceCheckUtils]: 3: Hoare triple {30013#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {30017#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:06:22,132 INFO L273 TraceCheckUtils]: 4: Hoare triple {30017#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {30021#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:06:22,132 INFO L273 TraceCheckUtils]: 5: Hoare triple {30021#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2019-02-27 13:06:22,133 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:06:22,133 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:06:22,247 INFO L273 TraceCheckUtils]: 5: Hoare triple {30025#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2019-02-27 13:06:22,248 INFO L273 TraceCheckUtils]: 4: Hoare triple {30029#(<= 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]; {30025#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:06:22,249 INFO L273 TraceCheckUtils]: 3: Hoare triple {30033#(<= 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]; {30029#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:06:22,250 INFO L273 TraceCheckUtils]: 2: Hoare triple {30037#(<= 0 (select (store (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_p2 (+ (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_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {30033#(<= 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 [2019-02-27 13:06:22,253 INFO L273 TraceCheckUtils]: 1: Hoare triple {30041#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {30037#(<= 0 (select (store (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_p2 (+ (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_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:06:22,255 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {30041#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:06:22,256 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:06:22,276 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:06:22,276 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-27 13:06:22,276 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:06:22,277 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:06:22,277 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:06:22,277 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:06:22,302 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:06:22,303 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:06:22,303 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:06:22,303 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:06:22,303 INFO L87 Difference]: Start difference. First operand 137 states and 738 transitions. Second operand 12 states. [2019-02-27 13:06:34,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:06:34,365 INFO L93 Difference]: Finished difference Result 209 states and 906 transitions. [2019-02-27 13:06:34,365 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:06:34,365 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-27 13:06:34,365 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:06:34,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:06:34,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2019-02-27 13:06:34,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:06:34,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2019-02-27 13:06:34,367 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 91 transitions. [2019-02-27 13:06:34,793 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:06:34,798 INFO L225 Difference]: With dead ends: 209 [2019-02-27 13:06:34,798 INFO L226 Difference]: Without dead ends: 207 [2019-02-27 13:06:34,799 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:06:34,799 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2019-02-27 13:06:40,486 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 123. [2019-02-27 13:06:40,486 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:06:40,486 INFO L82 GeneralOperation]: Start isEquivalent. First operand 207 states. Second operand 123 states. [2019-02-27 13:06:40,486 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand 123 states. [2019-02-27 13:06:40,487 INFO L87 Difference]: Start difference. First operand 207 states. Second operand 123 states. [2019-02-27 13:06:40,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:06:40,493 INFO L93 Difference]: Finished difference Result 207 states and 901 transitions. [2019-02-27 13:06:40,493 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 901 transitions. [2019-02-27 13:06:40,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:06:40,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:06:40,494 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 207 states. [2019-02-27 13:06:40,494 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 207 states. [2019-02-27 13:06:40,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:06:40,499 INFO L93 Difference]: Finished difference Result 207 states and 901 transitions. [2019-02-27 13:06:40,499 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 901 transitions. [2019-02-27 13:06:40,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:06:40,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:06:40,499 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:06:40,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:06:40,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2019-02-27 13:06:40,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 652 transitions. [2019-02-27 13:06:40,502 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 652 transitions. Word has length 6 [2019-02-27 13:06:40,502 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:06:40,503 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 652 transitions. [2019-02-27 13:06:40,503 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:06:40,503 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 652 transitions. [2019-02-27 13:06:40,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-27 13:06:40,503 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:06:40,503 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-27 13:06:40,504 INFO L423 AbstractCegarLoop]: === Iteration 66 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:06:40,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:06:40,504 INFO L82 PathProgramCache]: Analyzing trace with hash 900750874, now seen corresponding path program 2 times [2019-02-27 13:06:40,504 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:06:40,504 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:06:40,504 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:06:40,505 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:06:40,505 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:06:40,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:06:40,672 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {31044#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:06:40,673 INFO L273 TraceCheckUtils]: 1: Hoare triple {31044#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 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]; {31045#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:06:40,674 INFO L273 TraceCheckUtils]: 2: Hoare triple {31045#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31046#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:06:40,675 INFO L273 TraceCheckUtils]: 3: Hoare triple {31046#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (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]; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:06:40,675 INFO L273 TraceCheckUtils]: 4: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:06:40,675 INFO L273 TraceCheckUtils]: 5: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2019-02-27 13:06:40,676 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:06:40,676 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:06:40,676 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:06:40,676 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:06:40,677 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:06:40,677 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:06:40,677 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 64 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 64 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:06:40,688 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:06:40,688 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:06:40,694 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-27 13:06:40,694 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:06:40,695 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:06:40,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:06:40,699 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:06:40,734 INFO L467 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 [2019-02-27 13:06:40,742 INFO L467 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 [2019-02-27 13:06:40,754 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,755 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:06:40,772 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,773 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,774 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:06:40,801 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,806 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,807 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,808 INFO L467 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 [2019-02-27 13:06:40,813 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:40,836 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:40,851 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:40,863 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:40,876 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:40,898 INFO L301 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. [2019-02-27 13:06:40,898 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-27 13:06:40,906 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:40,907 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_387|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_387| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:06:40,907 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:06:40,982 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,983 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,985 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,986 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,987 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,988 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,990 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:40,990 INFO L467 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 [2019-02-27 13:06:40,995 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:41,027 INFO L301 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. [2019-02-27 13:06:41,027 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:06:41,048 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:41,048 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_388|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_388| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_388| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_388| ULTIMATE.start_main_p4)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_388| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_388| ULTIMATE.start_main_p2) 0))) [2019-02-27 13:06:41,048 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:06:41,107 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,108 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,110 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,111 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,112 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,113 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,114 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,116 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,116 INFO L467 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 45 [2019-02-27 13:06:41,121 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:41,152 INFO L301 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. [2019-02-27 13:06:41,152 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:06:41,163 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:41,163 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_389|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_389| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_389| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_389| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_389| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_389| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:06:41,163 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:06:41,225 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,226 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,227 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,229 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,230 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,231 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,232 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,233 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:41,234 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:06:41,235 INFO L467 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 47 [2019-02-27 13:06:41,240 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:41,272 INFO L301 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. [2019-02-27 13:06:41,272 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-27 13:06:43,290 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:43,290 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_390|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_390| ULTIMATE.start_main_p5))) (and (= 0 (+ (select |v_#memory_int_390| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_390| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_390| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_390| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2019-02-27 13:06:43,291 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:06:43,377 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {31051#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:06:43,379 INFO L273 TraceCheckUtils]: 1: Hoare triple {31051#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {31055#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:06:43,380 INFO L273 TraceCheckUtils]: 2: Hoare triple {31055#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:06:43,383 INFO L273 TraceCheckUtils]: 3: Hoare triple {31059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:06:43,384 INFO L273 TraceCheckUtils]: 4: Hoare triple {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:06:43,385 INFO L273 TraceCheckUtils]: 5: Hoare triple {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2019-02-27 13:06:43,385 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:06:43,385 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:06:43,492 INFO L273 TraceCheckUtils]: 5: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2019-02-27 13:06:43,493 INFO L273 TraceCheckUtils]: 4: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:06:43,494 INFO L273 TraceCheckUtils]: 3: Hoare triple {31076#(<= (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]; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:06:43,495 INFO L273 TraceCheckUtils]: 2: Hoare triple {31080#(<= (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_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31076#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:06:43,497 INFO L273 TraceCheckUtils]: 1: Hoare triple {31084#(<= (select (store (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_p5 (+ (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_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {31080#(<= (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_p2) 0)} is VALID [2019-02-27 13:06:43,499 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {31084#(<= (select (store (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_p5 (+ (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_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:06:43,500 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:06:43,520 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:06:43,520 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-27 13:06:43,525 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:06:43,525 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:06:43,525 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:06:43,525 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:06:43,545 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:06:43,545 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:06:43,545 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:06:43,545 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=91, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:06:43,545 INFO L87 Difference]: Start difference. First operand 123 states and 652 transitions. Second operand 10 states. [2019-02-27 13:06:51,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:06:51,757 INFO L93 Difference]: Finished difference Result 180 states and 787 transitions. [2019-02-27 13:06:51,757 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:06:51,757 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-27 13:06:51,757 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:06:51,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:06:51,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2019-02-27 13:06:51,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:06:51,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2019-02-27 13:06:51,758 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 78 transitions. [2019-02-27 13:06:51,875 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:06:51,880 INFO L225 Difference]: With dead ends: 180 [2019-02-27 13:06:51,880 INFO L226 Difference]: Without dead ends: 173 [2019-02-27 13:06:51,880 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2019-02-27 13:06:51,881 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2019-02-27 13:06:58,360 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 134. [2019-02-27 13:06:58,361 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:06:58,361 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand 134 states. [2019-02-27 13:06:58,361 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand 134 states. [2019-02-27 13:06:58,361 INFO L87 Difference]: Start difference. First operand 173 states. Second operand 134 states. [2019-02-27 13:06:58,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:06:58,365 INFO L93 Difference]: Finished difference Result 173 states and 777 transitions. [2019-02-27 13:06:58,365 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 777 transitions. [2019-02-27 13:06:58,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:06:58,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:06:58,366 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 173 states. [2019-02-27 13:06:58,366 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 173 states. [2019-02-27 13:06:58,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:06:58,370 INFO L93 Difference]: Finished difference Result 173 states and 777 transitions. [2019-02-27 13:06:58,370 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 777 transitions. [2019-02-27 13:06:58,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:06:58,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:06:58,371 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:06:58,371 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:06:58,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2019-02-27 13:06:58,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 703 transitions. [2019-02-27 13:06:58,374 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 703 transitions. Word has length 6 [2019-02-27 13:06:58,374 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:06:58,374 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 703 transitions. [2019-02-27 13:06:58,379 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:06:58,380 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 703 transitions. [2019-02-27 13:06:58,380 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:06:58,380 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:06:58,380 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:06:58,380 INFO L423 AbstractCegarLoop]: === Iteration 67 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:06:58,381 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:06:58,381 INFO L82 PathProgramCache]: Analyzing trace with hash -2018172698, now seen corresponding path program 1 times [2019-02-27 13:06:58,381 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:06:58,381 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:06:58,382 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:06:58,382 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:06:58,382 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:06:58,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:06:58,660 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {31989#(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_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:06:58,662 INFO L273 TraceCheckUtils]: 1: Hoare triple {31989#(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_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]; {31990#(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 [2019-02-27 13:06:58,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {31990#(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]; {31991#(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 [2019-02-27 13:06:58,664 INFO L273 TraceCheckUtils]: 3: Hoare triple {31991#(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]; {31991#(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 [2019-02-27 13:06:58,665 INFO L273 TraceCheckUtils]: 4: Hoare triple {31991#(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_p2 := #memory_int[main_p2] - 1]; {31992#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:06:58,665 INFO L273 TraceCheckUtils]: 5: Hoare triple {31992#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:06:58,666 INFO L273 TraceCheckUtils]: 6: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2019-02-27 13:06:58,666 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:06:58,666 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:06:58,667 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:06:58,667 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:06:58,667 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [20], [24], [25] [2019-02-27 13:06:58,668 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:06:58,668 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:06:58,679 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:06:58,679 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-27 13:06:58,680 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:06:58,680 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:06:58,680 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:06:58,680 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 65 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 65 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:06:58,690 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:06:58,690 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:06:58,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:06:58,695 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:06:58,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:06:58,702 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:06:58,736 INFO L467 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 [2019-02-27 13:06:58,745 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:58,746 INFO L467 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 [2019-02-27 13:06:58,759 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:58,760 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:58,761 INFO L467 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 [2019-02-27 13:06:58,780 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:58,782 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:58,783 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:58,784 INFO L467 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 [2019-02-27 13:06:58,807 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:58,809 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:58,810 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:58,812 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:58,812 INFO L467 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 [2019-02-27 13:06:58,819 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:58,851 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:58,869 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:58,882 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:58,894 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:06:58,918 INFO L301 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. [2019-02-27 13:06:58,919 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:06:58,928 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:58,929 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_394|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_394| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:06:58,929 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:06:59,007 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,008 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,009 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,010 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,012 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,013 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,015 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,016 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,024 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,025 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,026 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,027 INFO L467 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 [2019-02-27 13:06:59,033 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:59,082 INFO L301 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. [2019-02-27 13:06:59,082 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:06:59,107 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:06:59,107 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_395|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_395| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_395| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_395| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_395| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_395| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_395| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:06:59,108 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:06:59,183 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,184 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,185 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,187 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,188 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,189 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,190 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,192 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,193 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,194 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,195 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,196 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:06:59,197 INFO L467 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 68 [2019-02-27 13:06:59,204 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:06:59,251 INFO L301 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. [2019-02-27 13:06:59,251 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:07:01,417 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:01,417 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_396|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_396| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_396| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_396| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_396| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= (select |v_#memory_int_396| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_396| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:07:01,417 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:07:01,518 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,519 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,521 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,522 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,524 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,525 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,526 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,528 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,529 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,530 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,532 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,532 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:07:01,533 INFO L467 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 68 [2019-02-27 13:07:01,540 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:01,590 INFO L301 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. [2019-02-27 13:07:01,590 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:07:01,651 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:01,652 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_397|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_397| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_397| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_397| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_397| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_397| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_397| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:07:01,652 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:07:01,731 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,733 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,734 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,735 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,737 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,738 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,740 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,741 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,742 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,744 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:01,744 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:07:01,745 INFO L467 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 68 [2019-02-27 13:07:01,753 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:01,803 INFO L301 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. [2019-02-27 13:07:01,804 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:07:01,842 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:01,842 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_398|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_398| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_398| ULTIMATE.start_main_p5)) (= 0 .cse0) (= 1 (select |v_#memory_int_398| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_398| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_398| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_398| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2019-02-27 13:07:01,842 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:07:01,925 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {31997#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:07:01,928 INFO L273 TraceCheckUtils]: 1: Hoare triple {31997#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32001#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-27 13:07:01,931 INFO L273 TraceCheckUtils]: 2: Hoare triple {32001#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {32005#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:07:01,934 INFO L273 TraceCheckUtils]: 3: Hoare triple {32005#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {32009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:07:01,938 INFO L273 TraceCheckUtils]: 4: Hoare triple {32009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-27 13:07:01,939 INFO L273 TraceCheckUtils]: 5: Hoare triple {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-27 13:07:01,940 INFO L273 TraceCheckUtils]: 6: Hoare triple {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2019-02-27 13:07:01,940 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:07:01,941 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:07:02,190 INFO L273 TraceCheckUtils]: 6: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2019-02-27 13:07:02,191 INFO L273 TraceCheckUtils]: 5: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:02,192 INFO L273 TraceCheckUtils]: 4: Hoare triple {32026#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:02,193 INFO L273 TraceCheckUtils]: 3: Hoare triple {32030#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {32026#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:07:02,194 INFO L273 TraceCheckUtils]: 2: Hoare triple {32034#(<= (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) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {32030#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:07:02,196 INFO L273 TraceCheckUtils]: 1: Hoare triple {32038#(<= (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32034#(<= (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) 1)} is VALID [2019-02-27 13:07:02,199 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {32038#(<= (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_p1 (+ (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) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:07:02,199 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:07:02,217 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:07:02,218 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2019-02-27 13:07:02,218 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:07:02,218 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:07:02,218 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:07:02,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:07:02,243 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:07:02,244 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:07:02,244 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:07:02,244 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=147, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:07:02,244 INFO L87 Difference]: Start difference. First operand 134 states and 703 transitions. Second operand 12 states. [2019-02-27 13:07:11,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:11,368 INFO L93 Difference]: Finished difference Result 189 states and 804 transitions. [2019-02-27 13:07:11,368 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-02-27 13:07:11,368 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:07:11,368 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:07:11,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:07:11,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2019-02-27 13:07:11,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:07:11,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2019-02-27 13:07:11,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 85 transitions. [2019-02-27 13:07:11,523 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:07:11,528 INFO L225 Difference]: With dead ends: 189 [2019-02-27 13:07:11,528 INFO L226 Difference]: Without dead ends: 188 [2019-02-27 13:07:11,528 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=138, Invalid=242, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:07:11,528 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2019-02-27 13:07:18,032 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 133. [2019-02-27 13:07:18,032 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:07:18,032 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand 133 states. [2019-02-27 13:07:18,032 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand 133 states. [2019-02-27 13:07:18,032 INFO L87 Difference]: Start difference. First operand 188 states. Second operand 133 states. [2019-02-27 13:07:18,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:18,043 INFO L93 Difference]: Finished difference Result 188 states and 802 transitions. [2019-02-27 13:07:18,043 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 802 transitions. [2019-02-27 13:07:18,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:07:18,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:07:18,043 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 188 states. [2019-02-27 13:07:18,043 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 188 states. [2019-02-27 13:07:18,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:18,047 INFO L93 Difference]: Finished difference Result 188 states and 802 transitions. [2019-02-27 13:07:18,047 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 802 transitions. [2019-02-27 13:07:18,048 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:07:18,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:07:18,048 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:07:18,048 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:07:18,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2019-02-27 13:07:18,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 697 transitions. [2019-02-27 13:07:18,051 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 697 transitions. Word has length 7 [2019-02-27 13:07:18,051 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:07:18,051 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 697 transitions. [2019-02-27 13:07:18,051 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:07:18,051 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 697 transitions. [2019-02-27 13:07:18,051 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:07:18,052 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:07:18,052 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:07:18,052 INFO L423 AbstractCegarLoop]: === Iteration 68 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:07:18,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:07:18,052 INFO L82 PathProgramCache]: Analyzing trace with hash -2018168854, now seen corresponding path program 1 times [2019-02-27 13:07:18,052 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:07:18,053 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:18,053 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:07:18,053 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:18,053 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:07:18,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:18,422 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {32986#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:07:18,423 INFO L273 TraceCheckUtils]: 1: Hoare triple {32986#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32987#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:07:18,424 INFO L273 TraceCheckUtils]: 2: Hoare triple {32987#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 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]; {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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 [2019-02-27 13:07:18,425 INFO L273 TraceCheckUtils]: 3: Hoare triple {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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]; {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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 [2019-02-27 13:07:18,426 INFO L273 TraceCheckUtils]: 4: Hoare triple {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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_p3 := #memory_int[main_p3] + 1]; {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:18,427 INFO L273 TraceCheckUtils]: 5: Hoare triple {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:18,427 INFO L273 TraceCheckUtils]: 6: Hoare triple {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2019-02-27 13:07:18,428 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:07:18,428 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:07:18,428 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:07:18,429 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:07:18,429 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [18], [20], [24], [25] [2019-02-27 13:07:18,430 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:07:18,430 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:07:18,443 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:07:18,443 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-27 13:07:18,443 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:07:18,443 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:07:18,444 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:07:18,444 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 66 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 66 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:07:18,454 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:07:18,454 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:07:18,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:18,459 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:07:18,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:18,463 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:07:18,493 INFO L467 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 [2019-02-27 13:07:18,507 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,508 INFO L467 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 [2019-02-27 13:07:18,522 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,524 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,525 INFO L467 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 [2019-02-27 13:07:18,545 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,546 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,547 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,548 INFO L467 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 [2019-02-27 13:07:18,579 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,581 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,583 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,584 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,585 INFO L467 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 [2019-02-27 13:07:18,592 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:18,625 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:18,644 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:18,659 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:18,673 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:18,695 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:18,695 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2019-02-27 13:07:18,701 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:18,702 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_403|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_403| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:07:18,702 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:07:18,823 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,824 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,826 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,827 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,828 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,829 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,831 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,832 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,833 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,835 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,836 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:18,837 INFO L467 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 [2019-02-27 13:07:18,844 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:18,893 INFO L301 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. [2019-02-27 13:07:18,894 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2019-02-27 13:07:19,062 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:19,063 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_404|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_404| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p1)) (= .cse0 0) (= (store |v_#memory_int_404| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_404| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p2)))) [2019-02-27 13:07:19,063 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:07:19,148 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,150 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,151 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,153 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,154 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,156 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,157 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,158 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,160 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,161 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,163 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,164 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,165 INFO L467 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 68 [2019-02-27 13:07:19,172 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:19,220 INFO L301 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. [2019-02-27 13:07:19,221 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-27 13:07:19,404 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:19,404 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_405|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_405| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_405| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_405| ULTIMATE.start_main_p2) 0) (= (+ (select |v_#memory_int_405| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_405| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_405| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:07:19,404 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:07:19,493 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,494 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,495 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,497 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,498 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,499 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,501 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,502 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,504 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,505 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,507 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,507 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:07:19,508 INFO L467 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 68 [2019-02-27 13:07:19,514 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:19,560 INFO L301 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. [2019-02-27 13:07:19,561 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:07:19,583 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:19,583 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_406|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_406| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_406| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_406| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_406| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_406| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_406| ULTIMATE.start_main_p3) 0))) [2019-02-27 13:07:19,583 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:07:19,665 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,667 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,668 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,670 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,671 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,672 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,673 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,675 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,676 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,677 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,679 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:19,679 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:07:19,680 INFO L467 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 68 [2019-02-27 13:07:19,687 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:19,737 INFO L301 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. [2019-02-27 13:07:19,737 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:07:21,749 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:21,749 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_407|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_407| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_407| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_407| ULTIMATE.start_main_p5) 1) (= (+ (select |v_#memory_int_407| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_407| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_407| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:07:21,749 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:07:21,844 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {32993#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:07:21,847 INFO L273 TraceCheckUtils]: 1: Hoare triple {32993#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32997#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:07:21,849 INFO L273 TraceCheckUtils]: 2: Hoare triple {32997#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33001#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:07:21,852 INFO L273 TraceCheckUtils]: 3: Hoare triple {33001#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {33005#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:07:21,857 INFO L273 TraceCheckUtils]: 4: Hoare triple {33005#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:07:21,858 INFO L273 TraceCheckUtils]: 5: Hoare triple {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:07:21,859 INFO L273 TraceCheckUtils]: 6: Hoare triple {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2019-02-27 13:07:21,859 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:07:21,859 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:07:21,978 INFO L273 TraceCheckUtils]: 6: Hoare triple {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2019-02-27 13:07:21,979 INFO L273 TraceCheckUtils]: 5: Hoare triple {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:21,980 INFO L273 TraceCheckUtils]: 4: Hoare triple {33023#(<= (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]; {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:21,982 INFO L273 TraceCheckUtils]: 3: Hoare triple {33027#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {33023#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:21,984 INFO L273 TraceCheckUtils]: 2: Hoare triple {33031#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33027#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:21,988 INFO L273 TraceCheckUtils]: 1: Hoare triple {33035#(<= (select (store (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_p1 (+ (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) 1)) ULTIMATE.start_main_p3 (+ (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_p1 (+ (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) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33031#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:21,990 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {33035#(<= (select (store (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_p1 (+ (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) 1)) ULTIMATE.start_main_p3 (+ (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_p1 (+ (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) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:21,991 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:07:22,010 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:07:22,010 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2019-02-27 13:07:22,011 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:07:22,011 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2019-02-27 13:07:22,011 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:07:22,011 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-02-27 13:07:22,037 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:07:22,037 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-02-27 13:07:22,037 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-02-27 13:07:22,037 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=157, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:07:22,037 INFO L87 Difference]: Start difference. First operand 133 states and 697 transitions. Second operand 11 states. [2019-02-27 13:07:30,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:30,492 INFO L93 Difference]: Finished difference Result 169 states and 746 transitions. [2019-02-27 13:07:30,492 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 13:07:30,492 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2019-02-27 13:07:30,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:07:30,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-27 13:07:30,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2019-02-27 13:07:30,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-27 13:07:30,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2019-02-27 13:07:30,493 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 72 transitions. [2019-02-27 13:07:30,683 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:07:30,687 INFO L225 Difference]: With dead ends: 169 [2019-02-27 13:07:30,688 INFO L226 Difference]: Without dead ends: 168 [2019-02-27 13:07:30,688 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 90 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=131, Invalid=249, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:07:30,688 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 168 states. [2019-02-27 13:07:37,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 168 to 132. [2019-02-27 13:07:37,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:07:37,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 168 states. Second operand 132 states. [2019-02-27 13:07:37,146 INFO L74 IsIncluded]: Start isIncluded. First operand 168 states. Second operand 132 states. [2019-02-27 13:07:37,146 INFO L87 Difference]: Start difference. First operand 168 states. Second operand 132 states. [2019-02-27 13:07:37,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:37,151 INFO L93 Difference]: Finished difference Result 168 states and 743 transitions. [2019-02-27 13:07:37,151 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 743 transitions. [2019-02-27 13:07:37,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:07:37,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:07:37,157 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 168 states. [2019-02-27 13:07:37,157 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 168 states. [2019-02-27 13:07:37,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:37,162 INFO L93 Difference]: Finished difference Result 168 states and 743 transitions. [2019-02-27 13:07:37,162 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 743 transitions. [2019-02-27 13:07:37,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:07:37,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:07:37,162 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:07:37,162 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:07:37,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 132 states. [2019-02-27 13:07:37,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 691 transitions. [2019-02-27 13:07:37,166 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 691 transitions. Word has length 7 [2019-02-27 13:07:37,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:07:37,166 INFO L480 AbstractCegarLoop]: Abstraction has 132 states and 691 transitions. [2019-02-27 13:07:37,166 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-02-27 13:07:37,166 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 691 transitions. [2019-02-27 13:07:37,166 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:07:37,166 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:07:37,167 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:07:37,167 INFO L423 AbstractCegarLoop]: === Iteration 69 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:07:37,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:07:37,167 INFO L82 PathProgramCache]: Analyzing trace with hash -2017620956, now seen corresponding path program 1 times [2019-02-27 13:07:37,167 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:07:37,168 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:37,168 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:07:37,168 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:37,168 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:07:37,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:37,464 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {33913#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:07:37,465 INFO L273 TraceCheckUtils]: 1: Hoare triple {33913#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33914#(and (not (= ULTIMATE.start_main_p5 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) 0))} is VALID [2019-02-27 13:07:37,466 INFO L273 TraceCheckUtils]: 2: Hoare triple {33914#(and (not (= ULTIMATE.start_main_p5 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) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-27 13:07:37,466 INFO L273 TraceCheckUtils]: 3: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p1] >= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-27 13:07:37,467 INFO L273 TraceCheckUtils]: 4: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p2] <= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-27 13:07:37,467 INFO L273 TraceCheckUtils]: 5: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p3] >= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-27 13:07:37,468 INFO L273 TraceCheckUtils]: 6: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2019-02-27 13:07:37,468 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:07:37,469 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:07:37,469 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:07:37,469 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:07:37,469 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [26], [28], [29] [2019-02-27 13:07:37,470 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:07:37,470 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:07:37,478 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:07:37,478 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:07:37,478 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:07:37,479 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:07:37,479 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:07:37,479 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 67 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 67 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:07:37,488 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:07:37,488 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:07:37,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:37,493 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 5 conjunts are in the unsatisfiable core [2019-02-27 13:07:37,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:37,496 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:07:37,522 INFO L467 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 [2019-02-27 13:07:37,529 INFO L467 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 [2019-02-27 13:07:37,541 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-27 13:07:37,593 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 27 [2019-02-27 13:07:37,607 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:37,614 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 30 [2019-02-27 13:07:37,618 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:37,632 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:37,645 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:37,658 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:37,670 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:37,685 INFO L301 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. [2019-02-27 13:07:37,686 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:22, output treesize:29 [2019-02-27 13:07:37,691 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:37,691 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_412|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (store (store (store (store (store |v_#memory_int_412| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:07:37,691 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:07:37,735 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:37,736 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:37,737 INFO L467 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 15 [2019-02-27 13:07:37,740 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:37,748 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:37,749 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:14 [2019-02-27 13:07:37,761 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:37,761 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_413|]. (let ((.cse0 (select |v_#memory_int_413| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (select |v_#memory_int_413| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_413| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2019-02-27 13:07:37,762 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:07:37,794 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:37,795 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:37,796 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:37,797 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 17 [2019-02-27 13:07:37,808 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:37,817 INFO L301 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. [2019-02-27 13:07:37,817 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-02-27 13:07:37,830 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:37,830 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_414|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_414| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_414| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_414| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-27 13:07:37,831 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:07:37,875 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {33919#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:07:37,876 INFO L273 TraceCheckUtils]: 1: Hoare triple {33919#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33923#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:07:37,877 INFO L273 TraceCheckUtils]: 2: Hoare triple {33923#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2019-02-27 13:07:37,878 INFO L273 TraceCheckUtils]: 3: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p1] >= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2019-02-27 13:07:37,878 INFO L273 TraceCheckUtils]: 4: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p2] <= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2019-02-27 13:07:37,879 INFO L273 TraceCheckUtils]: 5: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p3] >= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2019-02-27 13:07:37,879 INFO L273 TraceCheckUtils]: 6: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2019-02-27 13:07:37,880 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:07:37,880 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:07:37,927 INFO L273 TraceCheckUtils]: 6: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2019-02-27 13:07:37,928 INFO L273 TraceCheckUtils]: 5: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:07:37,929 INFO L273 TraceCheckUtils]: 4: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:07:37,929 INFO L273 TraceCheckUtils]: 3: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:07:37,930 INFO L273 TraceCheckUtils]: 2: Hoare triple {33953#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:07:37,931 INFO L273 TraceCheckUtils]: 1: Hoare triple {33957#(<= (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_p4) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33953#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:07:37,934 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {33957#(<= (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_p4) 0)} is VALID [2019-02-27 13:07:37,935 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:07:37,958 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:07:37,958 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:07:37,958 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:07:37,959 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2019-02-27 13:07:37,959 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:07:37,959 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:07:37,976 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:07:37,976 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:07:37,976 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:07:37,977 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:07:37,977 INFO L87 Difference]: Start difference. First operand 132 states and 691 transitions. Second operand 8 states. [2019-02-27 13:07:45,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:45,099 INFO L93 Difference]: Finished difference Result 159 states and 727 transitions. [2019-02-27 13:07:45,099 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:07:45,099 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2019-02-27 13:07:45,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:07:45,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:07:45,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-27 13:07:45,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:07:45,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-27 13:07:45,100 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2019-02-27 13:07:45,170 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:07:45,173 INFO L225 Difference]: With dead ends: 159 [2019-02-27 13:07:45,174 INFO L226 Difference]: Without dead ends: 158 [2019-02-27 13:07:45,174 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-27 13:07:45,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2019-02-27 13:07:52,039 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 136. [2019-02-27 13:07:52,039 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:07:52,039 INFO L82 GeneralOperation]: Start isEquivalent. First operand 158 states. Second operand 136 states. [2019-02-27 13:07:52,039 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand 136 states. [2019-02-27 13:07:52,039 INFO L87 Difference]: Start difference. First operand 158 states. Second operand 136 states. [2019-02-27 13:07:52,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:52,054 INFO L93 Difference]: Finished difference Result 158 states and 724 transitions. [2019-02-27 13:07:52,055 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 724 transitions. [2019-02-27 13:07:52,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:07:52,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:07:52,055 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 158 states. [2019-02-27 13:07:52,055 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 158 states. [2019-02-27 13:07:52,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:52,059 INFO L93 Difference]: Finished difference Result 158 states and 724 transitions. [2019-02-27 13:07:52,059 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 724 transitions. [2019-02-27 13:07:52,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:07:52,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:07:52,059 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:07:52,060 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:07:52,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 136 states. [2019-02-27 13:07:52,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 706 transitions. [2019-02-27 13:07:52,063 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 706 transitions. Word has length 7 [2019-02-27 13:07:52,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:07:52,063 INFO L480 AbstractCegarLoop]: Abstraction has 136 states and 706 transitions. [2019-02-27 13:07:52,063 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:07:52,063 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 706 transitions. [2019-02-27 13:07:52,064 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:07:52,064 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:07:52,064 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:07:52,064 INFO L423 AbstractCegarLoop]: === Iteration 70 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:07:52,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:07:52,064 INFO L82 PathProgramCache]: Analyzing trace with hash -2018050250, now seen corresponding path program 1 times [2019-02-27 13:07:52,064 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:07:52,065 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:52,065 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:07:52,065 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:52,065 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:07:52,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:52,388 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {34803#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:07:52,389 INFO L273 TraceCheckUtils]: 1: Hoare triple {34803#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34804#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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_p3)))} is VALID [2019-02-27 13:07:52,391 INFO L273 TraceCheckUtils]: 2: Hoare triple {34804#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34805#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:07:52,392 INFO L273 TraceCheckUtils]: 3: Hoare triple {34805#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34806#(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 [2019-02-27 13:07:52,393 INFO L273 TraceCheckUtils]: 4: Hoare triple {34806#(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]; {34807#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:07:52,393 INFO L273 TraceCheckUtils]: 5: Hoare triple {34807#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:07:52,394 INFO L273 TraceCheckUtils]: 6: Hoare triple {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2019-02-27 13:07:52,394 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:07:52,395 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:07:52,395 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:07:52,395 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:07:52,395 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [20], [23] [2019-02-27 13:07:52,396 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:07:52,396 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:07:52,409 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:07:52,410 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 5 fixpoints after 5 different actions. Largest state had 0 variables. [2019-02-27 13:07:52,410 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:07:52,410 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:07:52,410 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:07:52,410 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 68 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 68 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:07:52,419 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:07:52,419 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:07:52,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:52,424 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 11 conjunts are in the unsatisfiable core [2019-02-27 13:07:52,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:52,429 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:07:52,452 INFO L467 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 [2019-02-27 13:07:52,461 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,462 INFO L467 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 [2019-02-27 13:07:52,476 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,477 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,478 INFO L467 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 [2019-02-27 13:07:52,497 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,498 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,499 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,499 INFO L467 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 [2019-02-27 13:07:52,532 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,533 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,534 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,536 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,536 INFO L467 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 [2019-02-27 13:07:52,546 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:52,576 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:52,594 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:52,609 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:52,620 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:52,642 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:52,643 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2019-02-27 13:07:52,648 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:52,648 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_417|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_417| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:07:52,648 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:07:52,726 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,727 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,728 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,730 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,731 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,732 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,733 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,734 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,736 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,737 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,738 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:52,739 INFO L467 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 [2019-02-27 13:07:52,745 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:52,791 INFO L301 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. [2019-02-27 13:07:52,791 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2019-02-27 13:07:54,807 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:54,808 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_418|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_418| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_418| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_418| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_418| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_418| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_418| ULTIMATE.start_main_p2) 0))) [2019-02-27 13:07:54,808 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:07:54,891 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,893 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,894 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,895 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,896 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,898 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,899 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,900 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,901 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,902 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,904 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,905 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:54,905 INFO L467 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 68 [2019-02-27 13:07:54,912 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:54,960 INFO L301 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. [2019-02-27 13:07:54,960 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-27 13:07:54,987 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:54,988 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_419|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_419| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_419| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_419| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= (+ (select |v_#memory_int_419| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_419| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_419| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:07:54,988 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:07:55,075 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,076 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,078 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,079 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,080 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,081 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,083 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,084 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,085 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,086 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,087 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:07:55,088 INFO L467 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 68 [2019-02-27 13:07:55,093 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:55,136 INFO L301 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. [2019-02-27 13:07:55,137 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:07:55,152 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:55,152 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_420|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_420| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_420| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_420| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= (select |v_#memory_int_420| ULTIMATE.start_main_p3) 0) (= 0 (+ (select |v_#memory_int_420| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_420| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:07:55,152 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:07:55,232 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,234 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,235 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,256 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,257 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,258 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,259 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,260 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,261 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,262 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,264 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:55,264 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:07:55,265 INFO L467 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 70 [2019-02-27 13:07:55,271 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:55,323 INFO L301 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. [2019-02-27 13:07:55,323 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-27 13:07:57,411 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:57,411 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_421|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_421| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_421| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_421| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_421| ULTIMATE.start_main_p5) 1) (= 0 (+ (select |v_#memory_int_421| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_421| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-02-27 13:07:57,412 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:07:57,539 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:57,541 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:57,542 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:57,543 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:57,545 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:57,546 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:57,547 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:57,549 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:57,550 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:57,551 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:57,553 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:57,553 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:07:57,554 INFO L467 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 70 [2019-02-27 13:07:57,560 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:57,609 INFO L301 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. [2019-02-27 13:07:57,609 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-27 13:07:57,629 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:57,629 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_422|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_422| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_422| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_422| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_422| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_422| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_422| ULTIMATE.start_main_p2) 1)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:07:57,629 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:07:57,668 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {34812#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:07:57,670 INFO L273 TraceCheckUtils]: 1: Hoare triple {34812#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34816#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:07:57,673 INFO L273 TraceCheckUtils]: 2: Hoare triple {34816#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34820#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:07:57,676 INFO L273 TraceCheckUtils]: 3: Hoare triple {34820#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34824#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:07:57,681 INFO L273 TraceCheckUtils]: 4: Hoare triple {34824#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {34828#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 13:07:57,689 INFO L273 TraceCheckUtils]: 5: Hoare triple {34828#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34832#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-27 13:07:57,689 INFO L273 TraceCheckUtils]: 6: Hoare triple {34832#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2019-02-27 13:07:57,690 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:07:57,690 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:07:57,834 INFO L273 TraceCheckUtils]: 6: Hoare triple {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2019-02-27 13:07:57,835 INFO L273 TraceCheckUtils]: 5: Hoare triple {34839#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:07:57,836 INFO L273 TraceCheckUtils]: 4: Hoare triple {34843#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {34839#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:07:57,838 INFO L273 TraceCheckUtils]: 3: Hoare triple {34847#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34843#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:07:57,840 INFO L273 TraceCheckUtils]: 2: Hoare triple {34851#(<= 0 (+ (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34847#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:07:57,843 INFO L273 TraceCheckUtils]: 1: Hoare triple {34855#(<= 0 (+ (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34851#(<= 0 (+ (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:07:57,845 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {34855#(<= 0 (+ (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:07:57,846 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:07:57,866 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:07:57,866 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 17 [2019-02-27 13:07:57,866 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:07:57,866 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2019-02-27 13:07:57,866 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:07:57,867 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2019-02-27 13:07:57,896 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:07:57,897 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2019-02-27 13:07:57,897 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2019-02-27 13:07:57,897 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=130, Invalid=212, Unknown=0, NotChecked=0, Total=342 [2019-02-27 13:07:57,897 INFO L87 Difference]: Start difference. First operand 136 states and 706 transitions. Second operand 14 states. [2019-02-27 13:08:08,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:08,719 INFO L93 Difference]: Finished difference Result 199 states and 872 transitions. [2019-02-27 13:08:08,719 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-02-27 13:08:08,719 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2019-02-27 13:08:08,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:08:08,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2019-02-27 13:08:08,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2019-02-27 13:08:08,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2019-02-27 13:08:08,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2019-02-27 13:08:08,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2019-02-27 13:08:08,992 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:08:08,997 INFO L225 Difference]: With dead ends: 199 [2019-02-27 13:08:08,997 INFO L226 Difference]: Without dead ends: 198 [2019-02-27 13:08:08,997 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=186, Invalid=320, Unknown=0, NotChecked=0, Total=506 [2019-02-27 13:08:08,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 198 states. [2019-02-27 13:08:14,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 198 to 134. [2019-02-27 13:08:14,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:08:14,872 INFO L82 GeneralOperation]: Start isEquivalent. First operand 198 states. Second operand 134 states. [2019-02-27 13:08:14,872 INFO L74 IsIncluded]: Start isIncluded. First operand 198 states. Second operand 134 states. [2019-02-27 13:08:14,872 INFO L87 Difference]: Start difference. First operand 198 states. Second operand 134 states. [2019-02-27 13:08:14,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:14,877 INFO L93 Difference]: Finished difference Result 198 states and 868 transitions. [2019-02-27 13:08:14,877 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 868 transitions. [2019-02-27 13:08:14,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:08:14,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:08:14,878 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 198 states. [2019-02-27 13:08:14,878 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 198 states. [2019-02-27 13:08:14,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:14,882 INFO L93 Difference]: Finished difference Result 198 states and 868 transitions. [2019-02-27 13:08:14,882 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 868 transitions. [2019-02-27 13:08:14,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:08:14,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:08:14,883 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:08:14,883 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:08:14,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2019-02-27 13:08:14,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 693 transitions. [2019-02-27 13:08:14,886 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 693 transitions. Word has length 7 [2019-02-27 13:08:14,886 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:08:14,886 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 693 transitions. [2019-02-27 13:08:14,886 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2019-02-27 13:08:14,886 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 693 transitions. [2019-02-27 13:08:14,886 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:08:14,886 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:08:14,886 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:08:14,886 INFO L423 AbstractCegarLoop]: === Iteration 71 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:08:14,886 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:08:14,887 INFO L82 PathProgramCache]: Analyzing trace with hash -2018049690, now seen corresponding path program 1 times [2019-02-27 13:08:14,887 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:08:14,887 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:08:14,887 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:08:14,887 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:08:14,887 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:08:14,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:08:15,115 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {35844#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:08:15,116 INFO L273 TraceCheckUtils]: 1: Hoare triple {35844#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35845#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:08:15,117 INFO L273 TraceCheckUtils]: 2: Hoare triple {35845#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 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]; {35846#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:08:15,117 INFO L273 TraceCheckUtils]: 3: Hoare triple {35846#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35847#(and (not (= ULTIMATE.start_main_p3 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) 0))} is VALID [2019-02-27 13:08:15,118 INFO L273 TraceCheckUtils]: 4: Hoare triple {35847#(and (not (= ULTIMATE.start_main_p3 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) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:08:15,118 INFO L273 TraceCheckUtils]: 5: Hoare triple {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:08:15,119 INFO L273 TraceCheckUtils]: 6: Hoare triple {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2019-02-27 13:08:15,119 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:08:15,119 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:08:15,119 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:08:15,120 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:08:15,120 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [20], [24], [25] [2019-02-27 13:08:15,122 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:08:15,122 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:08:15,131 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:08:15,131 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-27 13:08:15,132 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:08:15,132 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:08:15,132 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:08:15,132 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 69 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 69 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:08:15,142 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:08:15,142 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:08:15,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:08:15,147 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:08:15,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:08:15,151 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:08:15,169 INFO L467 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 [2019-02-27 13:08:15,177 INFO L467 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 [2019-02-27 13:08:15,190 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,191 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:08:15,210 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,211 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,212 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:08:15,236 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,240 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,242 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,242 INFO L467 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 [2019-02-27 13:08:15,256 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:15,275 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:15,287 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:15,300 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:15,312 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:15,330 INFO L301 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. [2019-02-27 13:08:15,331 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2019-02-27 13:08:15,336 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:15,336 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_428|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_428| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:08:15,336 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:08:15,410 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,411 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,412 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,414 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,415 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,416 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,417 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:15,418 INFO L467 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 [2019-02-27 13:08:15,423 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:15,451 INFO L301 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. [2019-02-27 13:08:15,452 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2019-02-27 13:08:17,464 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:17,464 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_429|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_429| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_429| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_429| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_429| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_429| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:08:17,464 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:08:17,528 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,529 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,530 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,532 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,533 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,534 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,535 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,536 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,537 INFO L467 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 47 [2019-02-27 13:08:17,541 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:17,571 INFO L301 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. [2019-02-27 13:08:17,571 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:32 [2019-02-27 13:08:17,581 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:17,581 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_430|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_430| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_430| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_430| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_430| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_430| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:08:17,581 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:08:17,643 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,645 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,646 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,647 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,648 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,649 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,650 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:08:17,651 INFO L467 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 47 [2019-02-27 13:08:17,654 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:17,685 INFO L301 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. [2019-02-27 13:08:17,685 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:32 [2019-02-27 13:08:17,692 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:17,693 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_431|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_431| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_431| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_431| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_431| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_431| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:08:17,693 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:08:17,758 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,760 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,761 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,762 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,763 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,764 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,765 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:17,766 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:08:17,767 INFO L467 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 35 treesize of output 49 [2019-02-27 13:08:17,771 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:17,800 INFO L301 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. [2019-02-27 13:08:17,801 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2019-02-27 13:08:17,810 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:17,811 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_432|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_432| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_432| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_432| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_432| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (= (store |v_#memory_int_432| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:08:17,811 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:08:17,864 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {35852#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:08:17,866 INFO L273 TraceCheckUtils]: 1: Hoare triple {35852#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35856#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:08:17,868 INFO L273 TraceCheckUtils]: 2: Hoare triple {35856#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {35860#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:08:17,870 INFO L273 TraceCheckUtils]: 3: Hoare triple {35860#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35864#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:08:17,898 INFO L273 TraceCheckUtils]: 4: Hoare triple {35864#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:08:17,899 INFO L273 TraceCheckUtils]: 5: Hoare triple {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:08:17,899 INFO L273 TraceCheckUtils]: 6: Hoare triple {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2019-02-27 13:08:17,900 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:08:17,900 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:08:18,001 INFO L273 TraceCheckUtils]: 6: Hoare triple {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2019-02-27 13:08:18,002 INFO L273 TraceCheckUtils]: 5: Hoare triple {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:08:18,003 INFO L273 TraceCheckUtils]: 4: Hoare triple {35882#(<= (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]; {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:08:18,004 INFO L273 TraceCheckUtils]: 3: Hoare triple {35886#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35882#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:08:18,006 INFO L273 TraceCheckUtils]: 2: Hoare triple {35890#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {35886#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:08:18,008 INFO L273 TraceCheckUtils]: 1: Hoare triple {35894#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35890#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:08:18,010 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {35894#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:08:18,011 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:08:18,031 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:08:18,031 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-27 13:08:18,031 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:08:18,031 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:08:18,031 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:08:18,031 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:08:18,054 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:08:18,054 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:08:18,054 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:08:18,054 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=171, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:08:18,055 INFO L87 Difference]: Start difference. First operand 134 states and 693 transitions. Second operand 12 states. [2019-02-27 13:08:25,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:25,696 INFO L93 Difference]: Finished difference Result 181 states and 747 transitions. [2019-02-27 13:08:25,696 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:08:25,696 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:08:25,696 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:08:25,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:08:25,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2019-02-27 13:08:25,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:08:25,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2019-02-27 13:08:25,697 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2019-02-27 13:08:25,825 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:08:25,828 INFO L225 Difference]: With dead ends: 181 [2019-02-27 13:08:25,828 INFO L226 Difference]: Without dead ends: 180 [2019-02-27 13:08:25,828 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=133, Invalid=247, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:08:25,829 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states. [2019-02-27 13:08:31,827 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 134. [2019-02-27 13:08:31,827 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:08:31,827 INFO L82 GeneralOperation]: Start isEquivalent. First operand 180 states. Second operand 134 states. [2019-02-27 13:08:31,827 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand 134 states. [2019-02-27 13:08:31,828 INFO L87 Difference]: Start difference. First operand 180 states. Second operand 134 states. [2019-02-27 13:08:31,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:31,833 INFO L93 Difference]: Finished difference Result 180 states and 745 transitions. [2019-02-27 13:08:31,833 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 745 transitions. [2019-02-27 13:08:31,833 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:08:31,833 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:08:31,833 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 180 states. [2019-02-27 13:08:31,833 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 180 states. [2019-02-27 13:08:31,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:31,837 INFO L93 Difference]: Finished difference Result 180 states and 745 transitions. [2019-02-27 13:08:31,837 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 745 transitions. [2019-02-27 13:08:31,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:08:31,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:08:31,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:08:31,837 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:08:31,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2019-02-27 13:08:31,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 693 transitions. [2019-02-27 13:08:31,840 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 693 transitions. Word has length 7 [2019-02-27 13:08:31,840 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:08:31,840 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 693 transitions. [2019-02-27 13:08:31,840 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:08:31,840 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 693 transitions. [2019-02-27 13:08:31,841 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:08:31,841 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:08:31,841 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:08:31,841 INFO L423 AbstractCegarLoop]: === Iteration 72 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:08:31,841 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:08:31,841 INFO L82 PathProgramCache]: Analyzing trace with hash -2017938650, now seen corresponding path program 2 times [2019-02-27 13:08:31,841 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:08:31,842 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:08:31,842 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:08:31,842 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:08:31,842 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:08:31,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:08:32,211 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {36806#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:08:32,213 INFO L273 TraceCheckUtils]: 1: Hoare triple {36806#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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_p3)))} is VALID [2019-02-27 13:08:32,214 INFO L273 TraceCheckUtils]: 2: Hoare triple {36807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36808#(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_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:08:32,214 INFO L273 TraceCheckUtils]: 3: Hoare triple {36808#(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_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36809#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:08:32,215 INFO L273 TraceCheckUtils]: 4: Hoare triple {36809#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36810#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-27 13:08:32,216 INFO L273 TraceCheckUtils]: 5: Hoare triple {36810#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {36811#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:08:32,216 INFO L273 TraceCheckUtils]: 6: Hoare triple {36811#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2019-02-27 13:08:32,217 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:08:32,217 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:08:32,217 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:08:32,217 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:08:32,217 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:08:32,218 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:08:32,218 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 70 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 70 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:08:32,227 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:08:32,227 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:08:32,235 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2019-02-27 13:08:32,235 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:08:32,235 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 11 conjunts are in the unsatisfiable core [2019-02-27 13:08:32,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:08:32,250 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:08:32,271 INFO L467 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 [2019-02-27 13:08:32,280 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,281 INFO L467 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 [2019-02-27 13:08:32,292 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,294 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,294 INFO L467 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 [2019-02-27 13:08:32,311 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,312 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,313 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,314 INFO L467 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 [2019-02-27 13:08:32,338 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,339 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,341 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,342 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,343 INFO L467 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 [2019-02-27 13:08:32,348 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:32,377 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:32,394 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:32,406 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:32,419 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:32,440 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:32,440 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2019-02-27 13:08:32,446 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:32,446 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_437|]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_437| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:08:32,446 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:08:32,524 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,526 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,527 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,528 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,529 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,530 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,532 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,533 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,534 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,535 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,536 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:32,537 INFO L467 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 [2019-02-27 13:08:32,542 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:32,588 INFO L301 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. [2019-02-27 13:08:32,588 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2019-02-27 13:08:34,595 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:34,595 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_438|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_438| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_438| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p1)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:08:34,595 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:08:34,675 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,676 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,678 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,679 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,680 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,681 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,682 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,683 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,685 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,686 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,687 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,688 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,689 INFO L467 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 68 [2019-02-27 13:08:34,714 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:34,758 INFO L301 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. [2019-02-27 13:08:34,759 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-27 13:08:34,771 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:34,771 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_439|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_439| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_439| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_439| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_439| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_439| ULTIMATE.start_main_p2) 0) (= (+ (select |v_#memory_int_439| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:08:34,771 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:08:34,855 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,856 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,857 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,858 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,858 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,860 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,861 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,862 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,863 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,865 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,866 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:34,866 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:08:34,867 INFO L467 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 68 [2019-02-27 13:08:34,873 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:34,919 INFO L301 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. [2019-02-27 13:08:34,919 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:08:34,935 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:34,936 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_440|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_440| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_440| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_440| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_440| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_440| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_440| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:08:34,936 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:08:35,016 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,017 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,018 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,019 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,021 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,022 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,023 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,024 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,025 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,026 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,027 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,028 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:08:35,029 INFO L467 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 68 [2019-02-27 13:08:35,034 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:35,081 INFO L301 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. [2019-02-27 13:08:35,081 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:08:35,091 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:35,092 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_441|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_441| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_441| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_441| ULTIMATE.start_main_p2)) (= .cse0 0) (= (select |v_#memory_int_441| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_441| ULTIMATE.start_main_p5) 1) (= (store |v_#memory_int_441| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2019-02-27 13:08:35,092 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:08:35,174 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,175 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,176 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,177 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,179 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,180 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,181 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,182 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,183 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,184 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:35,185 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:08:35,186 INFO L467 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 68 [2019-02-27 13:08:35,192 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:35,237 INFO L301 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. [2019-02-27 13:08:35,238 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:08:35,257 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:35,258 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_442|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_442| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_442| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_442| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_442| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 1 (select |v_#memory_int_442| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |v_#memory_int_442| ULTIMATE.start_main_p4) 1) 0))) [2019-02-27 13:08:35,258 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:08:35,325 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {36815#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:08:35,328 INFO L273 TraceCheckUtils]: 1: Hoare triple {36815#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36819#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:08:35,330 INFO L273 TraceCheckUtils]: 2: Hoare triple {36819#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36823#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:08:35,333 INFO L273 TraceCheckUtils]: 3: Hoare triple {36823#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:08:35,337 INFO L273 TraceCheckUtils]: 4: Hoare triple {36827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:08:35,345 INFO L273 TraceCheckUtils]: 5: Hoare triple {36831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {36835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:08:35,346 INFO L273 TraceCheckUtils]: 6: Hoare triple {36835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2019-02-27 13:08:35,347 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:08:35,347 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:08:35,497 INFO L273 TraceCheckUtils]: 6: Hoare triple {36839#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2019-02-27 13:08:35,498 INFO L273 TraceCheckUtils]: 5: Hoare triple {36843#(<= 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]; {36839#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:08:35,500 INFO L273 TraceCheckUtils]: 4: Hoare triple {36847#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36843#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:08:35,501 INFO L273 TraceCheckUtils]: 3: Hoare triple {36851#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36847#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:08:35,503 INFO L273 TraceCheckUtils]: 2: Hoare triple {36855#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36851#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:08:35,507 INFO L273 TraceCheckUtils]: 1: Hoare triple {36859#(<= 0 (select (store (store (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_p3 (+ (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_p3) 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_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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (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_p3 (+ (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_p3) 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_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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36855#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:08:35,509 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {36859#(<= 0 (select (store (store (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_p3 (+ (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_p3) 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_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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (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_p3 (+ (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_p3) 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_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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:08:35,510 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:08:35,528 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:08:35,529 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 18 [2019-02-27 13:08:35,529 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:08:35,529 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2019-02-27 13:08:35,529 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:08:35,529 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2019-02-27 13:08:35,561 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:08:35,561 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2019-02-27 13:08:35,562 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2019-02-27 13:08:35,562 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=141, Invalid=239, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:08:35,562 INFO L87 Difference]: Start difference. First operand 134 states and 693 transitions. Second operand 14 states. [2019-02-27 13:08:44,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:44,921 INFO L93 Difference]: Finished difference Result 200 states and 825 transitions. [2019-02-27 13:08:44,921 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-02-27 13:08:44,921 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2019-02-27 13:08:44,921 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:08:44,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2019-02-27 13:08:44,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2019-02-27 13:08:44,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2019-02-27 13:08:44,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2019-02-27 13:08:44,922 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 98 transitions. [2019-02-27 13:08:45,145 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:08:45,150 INFO L225 Difference]: With dead ends: 200 [2019-02-27 13:08:45,150 INFO L226 Difference]: Without dead ends: 199 [2019-02-27 13:08:45,150 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 150 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=191, Invalid=361, Unknown=0, NotChecked=0, Total=552 [2019-02-27 13:08:45,150 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 199 states. [2019-02-27 13:08:51,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 199 to 131. [2019-02-27 13:08:51,052 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:08:51,052 INFO L82 GeneralOperation]: Start isEquivalent. First operand 199 states. Second operand 131 states. [2019-02-27 13:08:51,052 INFO L74 IsIncluded]: Start isIncluded. First operand 199 states. Second operand 131 states. [2019-02-27 13:08:51,052 INFO L87 Difference]: Start difference. First operand 199 states. Second operand 131 states. [2019-02-27 13:08:51,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:51,058 INFO L93 Difference]: Finished difference Result 199 states and 822 transitions. [2019-02-27 13:08:51,058 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 822 transitions. [2019-02-27 13:08:51,058 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:08:51,058 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:08:51,058 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 199 states. [2019-02-27 13:08:51,059 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 199 states. [2019-02-27 13:08:51,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:51,062 INFO L93 Difference]: Finished difference Result 199 states and 822 transitions. [2019-02-27 13:08:51,063 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 822 transitions. [2019-02-27 13:08:51,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:08:51,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:08:51,063 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:08:51,063 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:08:51,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 131 states. [2019-02-27 13:08:51,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 674 transitions. [2019-02-27 13:08:51,066 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 674 transitions. Word has length 7 [2019-02-27 13:08:51,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:08:51,066 INFO L480 AbstractCegarLoop]: Abstraction has 131 states and 674 transitions. [2019-02-27 13:08:51,066 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2019-02-27 13:08:51,066 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 674 transitions. [2019-02-27 13:08:51,066 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:08:51,066 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:08:51,066 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:08:51,067 INFO L423 AbstractCegarLoop]: === Iteration 73 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:08:51,067 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:08:51,067 INFO L82 PathProgramCache]: Analyzing trace with hash -2030969310, now seen corresponding path program 1 times [2019-02-27 13:08:51,067 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:08:51,068 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:08:51,068 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:08:51,068 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:08:51,068 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:08:51,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:08:51,333 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {37836#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:08:51,334 INFO L273 TraceCheckUtils]: 1: Hoare triple {37836#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:08:51,335 INFO L273 TraceCheckUtils]: 2: Hoare triple {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:08:51,336 INFO L273 TraceCheckUtils]: 3: Hoare triple {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:08:51,337 INFO L273 TraceCheckUtils]: 4: Hoare triple {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:08:51,337 INFO L273 TraceCheckUtils]: 5: Hoare triple {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {37839#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:08:51,338 INFO L273 TraceCheckUtils]: 6: Hoare triple {37839#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2019-02-27 13:08:51,338 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:08:51,339 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:08:51,339 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:08:51,339 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:08:51,339 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [24], [26], [27] [2019-02-27 13:08:51,340 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:08:51,340 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:08:51,355 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:08:51,355 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:08:51,355 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:08:51,355 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:08:51,356 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:08:51,356 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 71 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 71 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:08:51,364 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:08:51,365 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:08:51,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:08:51,370 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:08:51,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:08:51,372 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:08:51,396 INFO L467 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 [2019-02-27 13:08:51,412 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,413 INFO L467 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 [2019-02-27 13:08:51,425 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,426 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,427 INFO L467 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 [2019-02-27 13:08:51,444 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,445 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,446 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,447 INFO L467 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 [2019-02-27 13:08:51,470 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,471 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,472 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,474 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,475 INFO L467 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 [2019-02-27 13:08:51,481 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:51,510 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:51,527 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:51,540 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:51,550 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:51,572 INFO L301 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. [2019-02-27 13:08:51,572 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:08:51,578 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:51,578 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_448|, ULTIMATE.start_main_p5]. (and (= (store (store (store (store (store |v_#memory_int_448| 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|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:08:51,579 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:08:51,651 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,652 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,654 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,655 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,656 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,657 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,658 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,660 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,661 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,662 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,663 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,664 INFO L467 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 [2019-02-27 13:08:51,675 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:51,718 INFO L301 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. [2019-02-27 13:08:51,719 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:08:51,731 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:51,731 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_449|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_449| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_449| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_449| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_449| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_449| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_449| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:08:51,731 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:08:51,813 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,815 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,816 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,818 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,819 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,820 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,821 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,823 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,824 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,825 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,827 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,828 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,829 INFO L467 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 68 [2019-02-27 13:08:51,848 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:51,893 INFO L301 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. [2019-02-27 13:08:51,893 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:08:51,906 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:51,907 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_450|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_450| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_450| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_450| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_450| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_450| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (+ (select |v_#memory_int_450| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:08:51,907 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:08:51,978 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,979 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,981 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,982 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,983 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,984 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,985 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,986 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,988 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,989 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:51,989 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:08:51,990 INFO L467 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 68 [2019-02-27 13:08:51,995 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:52,041 INFO L301 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. [2019-02-27 13:08:52,041 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:08:52,079 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:52,079 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_451|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_451| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 1 (select |v_#memory_int_451| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_451| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_451| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_451| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_451| ULTIMATE.start_main_p4) 1)))) [2019-02-27 13:08:52,080 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:08:52,189 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {37843#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:08:52,190 INFO L273 TraceCheckUtils]: 1: Hoare triple {37843#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37847#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:08:52,192 INFO L273 TraceCheckUtils]: 2: Hoare triple {37847#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37851#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:08:52,195 INFO L273 TraceCheckUtils]: 3: Hoare triple {37851#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:08:52,196 INFO L273 TraceCheckUtils]: 4: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:08:52,197 INFO L273 TraceCheckUtils]: 5: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:08:52,197 INFO L273 TraceCheckUtils]: 6: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2019-02-27 13:08:52,198 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:08:52,198 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:08:52,278 INFO L273 TraceCheckUtils]: 6: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2019-02-27 13:08:52,279 INFO L273 TraceCheckUtils]: 5: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:08:52,282 INFO L273 TraceCheckUtils]: 4: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:08:52,283 INFO L273 TraceCheckUtils]: 3: Hoare triple {37875#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:08:52,284 INFO L273 TraceCheckUtils]: 2: Hoare triple {37879#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37875#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:08:52,285 INFO L273 TraceCheckUtils]: 1: Hoare triple {37883#(<= 0 (select (store (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 (+ (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) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37879#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:08:52,287 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {37883#(<= 0 (select (store (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 (+ (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) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:08:52,288 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:08:52,306 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:08:52,306 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:08:52,306 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:08:52,306 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-27 13:08:52,307 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:08:52,307 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:08:52,339 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:08:52,339 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:08:52,339 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:08:52,340 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:08:52,340 INFO L87 Difference]: Start difference. First operand 131 states and 674 transitions. Second operand 10 states. [2019-02-27 13:09:00,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:00,290 INFO L93 Difference]: Finished difference Result 160 states and 731 transitions. [2019-02-27 13:09:00,290 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:09:00,290 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-27 13:09:00,290 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:09:00,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:09:00,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-27 13:09:00,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:09:00,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-27 13:09:00,291 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2019-02-27 13:09:00,384 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:09:00,389 INFO L225 Difference]: With dead ends: 160 [2019-02-27 13:09:00,389 INFO L226 Difference]: Without dead ends: 159 [2019-02-27 13:09:00,389 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 4 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:09:00,389 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2019-02-27 13:09:06,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 137. [2019-02-27 13:09:06,991 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:09:06,991 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand 137 states. [2019-02-27 13:09:06,991 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 137 states. [2019-02-27 13:09:06,992 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 137 states. [2019-02-27 13:09:06,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:06,996 INFO L93 Difference]: Finished difference Result 159 states and 729 transitions. [2019-02-27 13:09:06,996 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 729 transitions. [2019-02-27 13:09:06,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:09:06,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:09:06,996 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 159 states. [2019-02-27 13:09:06,996 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 159 states. [2019-02-27 13:09:06,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:06,999 INFO L93 Difference]: Finished difference Result 159 states and 729 transitions. [2019-02-27 13:09:07,000 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 729 transitions. [2019-02-27 13:09:07,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:09:07,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:09:07,000 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:09:07,000 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:09:07,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2019-02-27 13:09:07,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 710 transitions. [2019-02-27 13:09:07,003 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 710 transitions. Word has length 7 [2019-02-27 13:09:07,003 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:09:07,003 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 710 transitions. [2019-02-27 13:09:07,003 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:09:07,003 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 710 transitions. [2019-02-27 13:09:07,003 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:09:07,003 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:09:07,004 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:09:07,004 INFO L423 AbstractCegarLoop]: === Iteration 74 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:09:07,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:09:07,004 INFO L82 PathProgramCache]: Analyzing trace with hash -2030863664, now seen corresponding path program 1 times [2019-02-27 13:09:07,004 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:09:07,005 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:09:07,005 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:09:07,005 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:09:07,005 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:09:07,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:09:07,237 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {38739#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-27 13:09:07,238 INFO L273 TraceCheckUtils]: 1: Hoare triple {38739#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:09:07,239 INFO L273 TraceCheckUtils]: 2: Hoare triple {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:09:07,240 INFO L273 TraceCheckUtils]: 3: Hoare triple {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38741#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:09:07,241 INFO L273 TraceCheckUtils]: 4: Hoare triple {38741#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:09:07,241 INFO L273 TraceCheckUtils]: 5: Hoare triple {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:09:07,242 INFO L273 TraceCheckUtils]: 6: Hoare triple {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2019-02-27 13:09:07,243 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:09:07,243 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:09:07,243 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:09:07,243 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:09:07,243 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [24], [25] [2019-02-27 13:09:07,244 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:09:07,244 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:09:07,271 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:09:07,272 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-27 13:09:07,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:09:07,272 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:09:07,272 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:09:07,272 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 72 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 72 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:09:07,282 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:09:07,282 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:09:07,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:09:07,288 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:09:07,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:09:07,293 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:09:07,313 INFO L467 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 [2019-02-27 13:09:07,323 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,324 INFO L467 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 [2019-02-27 13:09:07,337 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,339 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,339 INFO L467 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 [2019-02-27 13:09:07,357 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,359 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,360 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,361 INFO L467 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 [2019-02-27 13:09:07,488 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,489 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,491 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,492 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,493 INFO L467 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 [2019-02-27 13:09:07,498 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:07,529 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:07,552 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:07,564 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:07,576 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:07,598 INFO L301 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. [2019-02-27 13:09:07,598 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:09:07,605 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:07,605 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_455|, ULTIMATE.start_main_p5]. (and (= (store (store (store (store (store |v_#memory_int_455| 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|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:09:07,605 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:09:07,680 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,681 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,682 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,683 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,685 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,686 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,687 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,688 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,689 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,691 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,692 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,692 INFO L467 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 [2019-02-27 13:09:07,698 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:07,745 INFO L301 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. [2019-02-27 13:09:07,745 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:09:07,767 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:07,768 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_456|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_456| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_456| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_456| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_456| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_456| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (= (select |v_#memory_int_456| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:09:07,768 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:09:07,842 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,843 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,845 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,846 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,847 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,848 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,849 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,850 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,852 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,853 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,854 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,855 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:07,856 INFO L467 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 68 [2019-02-27 13:09:07,861 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:07,907 INFO L301 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. [2019-02-27 13:09:07,907 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-27 13:09:09,440 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:09,441 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_457|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_457| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p2)) (= 0 .cse0) (= (+ (select |v_#memory_int_457| ULTIMATE.start_main_p4) 1) 0) (= (store |v_#memory_int_457| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p3)))) [2019-02-27 13:09:09,441 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:09:09,519 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,521 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,522 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,523 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,525 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,526 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,527 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,528 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,530 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,531 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,532 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,533 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,534 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:09:09,535 INFO L467 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 68 [2019-02-27 13:09:09,540 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:09,591 INFO L301 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. [2019-02-27 13:09:09,591 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:09:09,647 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:09,647 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_458|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_458| ULTIMATE.start_main_p3))) (and (= 0 (+ (select |v_#memory_int_458| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_458| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 .cse0) (= 0 (select |v_#memory_int_458| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_458| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_458| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:09:09,647 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (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)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:09:09,720 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,722 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,723 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,724 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,725 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,726 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,728 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,729 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,730 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,731 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:09,732 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:09:09,732 INFO L467 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 68 [2019-02-27 13:09:09,738 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:09,785 INFO L301 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. [2019-02-27 13:09:09,785 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:09:09,804 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:09,805 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_459|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_459| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_459| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_459| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_459| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_459| ULTIMATE.start_main_p3) 1) (= 0 (+ (select |v_#memory_int_459| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:09:09,805 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:09:09,871 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {38746#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:09:09,874 INFO L273 TraceCheckUtils]: 1: Hoare triple {38746#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38750#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:09:09,876 INFO L273 TraceCheckUtils]: 2: Hoare triple {38750#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38754#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:09:09,880 INFO L273 TraceCheckUtils]: 3: Hoare triple {38754#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38758#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:09:09,884 INFO L273 TraceCheckUtils]: 4: Hoare triple {38758#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-27 13:09:09,885 INFO L273 TraceCheckUtils]: 5: Hoare triple {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-27 13:09:09,886 INFO L273 TraceCheckUtils]: 6: Hoare triple {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2019-02-27 13:09:09,887 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:09:09,887 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:09:09,976 INFO L273 TraceCheckUtils]: 6: Hoare triple {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2019-02-27 13:09:09,977 INFO L273 TraceCheckUtils]: 5: Hoare triple {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:09:09,977 INFO L273 TraceCheckUtils]: 4: Hoare triple {38776#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:09:09,978 INFO L273 TraceCheckUtils]: 3: Hoare triple {38780#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38776#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:09:09,980 INFO L273 TraceCheckUtils]: 2: Hoare triple {38784#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38780#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:09:09,982 INFO L273 TraceCheckUtils]: 1: Hoare triple {38788#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38784#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:09:09,984 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {38788#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:09:09,984 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:09:10,003 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:09:10,003 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2019-02-27 13:09:10,003 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:09:10,003 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2019-02-27 13:09:10,004 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:09:10,004 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-02-27 13:09:10,028 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:09:10,028 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-02-27 13:09:10,028 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-02-27 13:09:10,028 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:09:10,028 INFO L87 Difference]: Start difference. First operand 137 states and 710 transitions. Second operand 11 states. [2019-02-27 13:09:19,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:19,239 INFO L93 Difference]: Finished difference Result 197 states and 846 transitions. [2019-02-27 13:09:19,239 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:09:19,239 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2019-02-27 13:09:19,239 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:09:19,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-27 13:09:19,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2019-02-27 13:09:19,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-27 13:09:19,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2019-02-27 13:09:19,240 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 84 transitions. [2019-02-27 13:09:19,374 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:09:19,378 INFO L225 Difference]: With dead ends: 197 [2019-02-27 13:09:19,378 INFO L226 Difference]: Without dead ends: 196 [2019-02-27 13:09:19,378 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 84 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=120, Invalid=222, Unknown=0, NotChecked=0, Total=342 [2019-02-27 13:09:19,378 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2019-02-27 13:09:26,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 140. [2019-02-27 13:09:26,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:09:26,059 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand 140 states. [2019-02-27 13:09:26,059 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand 140 states. [2019-02-27 13:09:26,059 INFO L87 Difference]: Start difference. First operand 196 states. Second operand 140 states. [2019-02-27 13:09:26,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:26,065 INFO L93 Difference]: Finished difference Result 196 states and 844 transitions. [2019-02-27 13:09:26,065 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 844 transitions. [2019-02-27 13:09:26,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:09:26,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:09:26,065 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 196 states. [2019-02-27 13:09:26,066 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 196 states. [2019-02-27 13:09:26,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:26,069 INFO L93 Difference]: Finished difference Result 196 states and 844 transitions. [2019-02-27 13:09:26,070 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 844 transitions. [2019-02-27 13:09:26,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:09:26,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:09:26,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:09:26,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:09:26,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 140 states. [2019-02-27 13:09:26,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 728 transitions. [2019-02-27 13:09:26,073 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 728 transitions. Word has length 7 [2019-02-27 13:09:26,073 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:09:26,073 INFO L480 AbstractCegarLoop]: Abstraction has 140 states and 728 transitions. [2019-02-27 13:09:26,073 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-02-27 13:09:26,073 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 728 transitions. [2019-02-27 13:09:26,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:09:26,074 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:09:26,074 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:09:26,074 INFO L423 AbstractCegarLoop]: === Iteration 75 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:09:26,074 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:09:26,074 INFO L82 PathProgramCache]: Analyzing trace with hash -2026994678, now seen corresponding path program 2 times [2019-02-27 13:09:26,074 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:09:26,074 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:09:26,074 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:09:26,075 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:09:26,075 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:09:26,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:09:26,808 WARN L181 SmtUtils]: Spent 381.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 21 [2019-02-27 13:09:26,993 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {39777#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:09:26,994 INFO L273 TraceCheckUtils]: 1: Hoare triple {39777#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39778#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:09:26,995 INFO L273 TraceCheckUtils]: 2: Hoare triple {39778#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39779#(and (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:09:26,996 INFO L273 TraceCheckUtils]: 3: Hoare triple {39779#(and (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:09:26,997 INFO L273 TraceCheckUtils]: 4: Hoare triple {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:09:26,998 INFO L273 TraceCheckUtils]: 5: Hoare triple {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {39781#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:09:26,999 INFO L273 TraceCheckUtils]: 6: Hoare triple {39781#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2019-02-27 13:09:26,999 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:09:27,000 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:09:27,000 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:09:27,000 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:09:27,000 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:09:27,000 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:09:27,000 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 73 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 73 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:09:27,009 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:09:27,009 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:09:27,016 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-27 13:09:27,016 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:09:27,017 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:09:27,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:09:27,020 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:09:27,042 INFO L467 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 [2019-02-27 13:09:27,051 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,052 INFO L467 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 [2019-02-27 13:09:27,064 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,066 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,066 INFO L467 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 [2019-02-27 13:09:27,083 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,085 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,086 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,087 INFO L467 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 [2019-02-27 13:09:27,110 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,111 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,112 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,114 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,114 INFO L467 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 [2019-02-27 13:09:27,120 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:27,151 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:27,168 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:27,182 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:27,194 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:27,217 INFO L301 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. [2019-02-27 13:09:27,218 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:09:27,225 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:27,225 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_464|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_464| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:09:27,225 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:09:27,301 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,302 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,304 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,305 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,306 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,308 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,309 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,310 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,311 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,313 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,314 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:27,315 INFO L467 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 [2019-02-27 13:09:27,327 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:27,375 INFO L301 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. [2019-02-27 13:09:27,376 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:09:29,674 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:29,675 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_465|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_465| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_465| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_465| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_465| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= .cse0 0) (= (select |v_#memory_int_465| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_465| ULTIMATE.start_main_p2) 0))) [2019-02-27 13:09:29,675 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:09:29,897 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:29,899 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:29,900 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:29,901 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:29,902 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:29,903 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:29,905 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:29,906 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:29,907 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:29,908 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:29,909 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:09:29,909 INFO L467 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 68 [2019-02-27 13:09:29,915 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:29,962 INFO L301 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. [2019-02-27 13:09:29,962 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-27 13:09:29,973 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:29,973 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_466|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_466| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_466| ULTIMATE.start_main_p1)) (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_466| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_466| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_466| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_466| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:09:29,973 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:09:30,049 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,051 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,052 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,053 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,055 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,056 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,057 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,058 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,060 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,061 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,062 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,063 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:30,064 INFO L467 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 70 [2019-02-27 13:09:30,077 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:30,124 INFO L301 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. [2019-02-27 13:09:30,124 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:52, output treesize:42 [2019-02-27 13:09:31,338 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:31,338 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_467|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_467| ULTIMATE.start_main_p5))) (and (= (+ (select |v_#memory_int_467| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_467| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (+ (select |v_#memory_int_467| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_467| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_467| ULTIMATE.start_main_p3)))) [2019-02-27 13:09:31,338 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:09:31,434 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:31,435 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:31,436 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:31,437 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:31,438 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:31,439 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:31,440 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:31,442 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:31,443 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:31,444 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:31,445 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:31,446 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:09:31,447 INFO L467 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 70 [2019-02-27 13:09:31,452 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:31,498 INFO L301 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. [2019-02-27 13:09:31,498 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-27 13:09:31,533 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:31,533 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_468|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_468| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_468| ULTIMATE.start_main_p2) 1) 0) (= 0 (+ (select |v_#memory_int_468| ULTIMATE.start_main_p4) 1)) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_468| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_468| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_468| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:09:31,533 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:09:31,599 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {39785#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:09:31,602 INFO L273 TraceCheckUtils]: 1: Hoare triple {39785#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39789#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-27 13:09:31,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {39789#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39793#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-27 13:09:31,607 INFO L273 TraceCheckUtils]: 3: Hoare triple {39793#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {39797#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:09:31,612 INFO L273 TraceCheckUtils]: 4: Hoare triple {39797#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:09:31,613 INFO L273 TraceCheckUtils]: 5: Hoare triple {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:09:31,613 INFO L273 TraceCheckUtils]: 6: Hoare triple {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2019-02-27 13:09:31,614 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:09:31,614 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:09:31,723 INFO L273 TraceCheckUtils]: 6: Hoare triple {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2019-02-27 13:09:31,724 INFO L273 TraceCheckUtils]: 5: Hoare triple {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:09:31,725 INFO L273 TraceCheckUtils]: 4: Hoare triple {39815#(<= (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]; {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:09:31,726 INFO L273 TraceCheckUtils]: 3: Hoare triple {39819#(<= (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]; {39815#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:09:31,728 INFO L273 TraceCheckUtils]: 2: Hoare triple {39823#(<= (select (store (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 (+ (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) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39819#(<= (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 [2019-02-27 13:09:31,730 INFO L273 TraceCheckUtils]: 1: Hoare triple {39827#(<= (select (store (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 (+ (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) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39823#(<= (select (store (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 (+ (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) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:09:31,733 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {39827#(<= (select (store (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 (+ (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) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:09:31,733 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:09:31,752 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:09:31,752 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-27 13:09:31,752 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:09:31,753 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:09:31,753 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:09:31,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:09:31,777 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:09:31,777 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:09:31,777 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:09:31,777 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:09:31,777 INFO L87 Difference]: Start difference. First operand 140 states and 728 transitions. Second operand 12 states. [2019-02-27 13:09:41,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:41,296 INFO L93 Difference]: Finished difference Result 195 states and 830 transitions. [2019-02-27 13:09:41,296 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:09:41,296 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:09:41,297 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:09:41,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:09:41,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2019-02-27 13:09:41,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:09:41,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2019-02-27 13:09:41,298 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 84 transitions. [2019-02-27 13:09:41,436 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:09:41,440 INFO L225 Difference]: With dead ends: 195 [2019-02-27 13:09:41,440 INFO L226 Difference]: Without dead ends: 189 [2019-02-27 13:09:41,440 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:09:41,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 189 states. [2019-02-27 13:09:48,193 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 189 to 139. [2019-02-27 13:09:48,193 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:09:48,193 INFO L82 GeneralOperation]: Start isEquivalent. First operand 189 states. Second operand 139 states. [2019-02-27 13:09:48,193 INFO L74 IsIncluded]: Start isIncluded. First operand 189 states. Second operand 139 states. [2019-02-27 13:09:48,194 INFO L87 Difference]: Start difference. First operand 189 states. Second operand 139 states. [2019-02-27 13:09:48,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:48,199 INFO L93 Difference]: Finished difference Result 189 states and 822 transitions. [2019-02-27 13:09:48,199 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 822 transitions. [2019-02-27 13:09:48,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:09:48,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:09:48,200 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 189 states. [2019-02-27 13:09:48,200 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 189 states. [2019-02-27 13:09:48,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:48,204 INFO L93 Difference]: Finished difference Result 189 states and 822 transitions. [2019-02-27 13:09:48,204 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 822 transitions. [2019-02-27 13:09:48,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:09:48,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:09:48,205 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:09:48,205 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:09:48,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 139 states. [2019-02-27 13:09:48,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 721 transitions. [2019-02-27 13:09:48,208 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 721 transitions. Word has length 7 [2019-02-27 13:09:48,208 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:09:48,208 INFO L480 AbstractCegarLoop]: Abstraction has 139 states and 721 transitions. [2019-02-27 13:09:48,208 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:09:48,208 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 721 transitions. [2019-02-27 13:09:48,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:09:48,208 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:09:48,208 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:09:48,209 INFO L423 AbstractCegarLoop]: === Iteration 76 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:09:48,209 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:09:48,209 INFO L82 PathProgramCache]: Analyzing trace with hash -2026977316, now seen corresponding path program 1 times [2019-02-27 13:09:48,209 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:09:48,209 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:09:48,209 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:09:48,209 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:09:48,209 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:09:48,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:09:48,416 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {40795#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:09:48,418 INFO L273 TraceCheckUtils]: 1: Hoare triple {40795#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:09:48,419 INFO L273 TraceCheckUtils]: 2: Hoare triple {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:09:48,420 INFO L273 TraceCheckUtils]: 3: Hoare triple {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:09:48,421 INFO L273 TraceCheckUtils]: 4: Hoare triple {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:09:48,421 INFO L273 TraceCheckUtils]: 5: Hoare triple {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {40798#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:09:48,422 INFO L273 TraceCheckUtils]: 6: Hoare triple {40798#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2019-02-27 13:09:48,429 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:09:48,429 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:09:48,429 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:09:48,429 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:09:48,430 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [20], [24], [26], [27] [2019-02-27 13:09:48,432 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:09:48,432 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:09:48,444 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:09:48,444 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:09:48,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:09:48,444 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:09:48,444 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:09:48,444 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 74 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 74 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:09:48,453 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:09:48,453 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:09:48,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:09:48,457 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:09:48,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:09:48,461 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:09:48,476 INFO L467 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 [2019-02-27 13:09:48,484 INFO L467 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 [2019-02-27 13:09:48,498 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,499 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:09:48,514 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,516 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,516 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:09:48,535 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,540 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,542 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,542 INFO L467 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 [2019-02-27 13:09:48,547 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:48,570 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:48,586 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:48,597 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:48,609 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:48,628 INFO L301 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. [2019-02-27 13:09:48,628 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2019-02-27 13:09:48,634 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:48,634 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_473|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_473| 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))) [2019-02-27 13:09:48,634 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:09:48,707 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,708 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,709 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,710 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,711 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,712 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,714 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,714 INFO L467 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 [2019-02-27 13:09:48,719 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:48,749 INFO L301 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. [2019-02-27 13:09:48,750 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2019-02-27 13:09:48,777 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:48,777 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_474|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_474| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_474| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:09:48,777 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:09:48,836 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,837 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,838 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,839 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,840 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,841 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:48,842 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:09:48,843 INFO L467 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 47 [2019-02-27 13:09:48,846 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:48,877 INFO L301 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. [2019-02-27 13:09:48,878 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:32 [2019-02-27 13:09:48,960 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:48,960 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_475|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_475| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_475| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_475| ULTIMATE.start_main_p5)) (= .cse0 0) (= (+ (select |v_#memory_int_475| ULTIMATE.start_main_p4) 1) 0) (= (store |v_#memory_int_475| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:09:48,960 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:09:49,018 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:49,019 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:49,021 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:49,022 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:49,023 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:49,024 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:49,025 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:49,026 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:49,027 INFO L467 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 35 treesize of output 49 [2019-02-27 13:09:49,031 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:49,060 INFO L301 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. [2019-02-27 13:09:49,060 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2019-02-27 13:09:49,067 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:49,067 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_476|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_476| ULTIMATE.start_main_p5))) (and (= (+ (select |v_#memory_int_476| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_476| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_476| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= 0 (+ (select |v_#memory_int_476| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:09:49,067 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:09:49,163 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {40802#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:09:49,165 INFO L273 TraceCheckUtils]: 1: Hoare triple {40802#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40806#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:09:49,167 INFO L273 TraceCheckUtils]: 2: Hoare triple {40806#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40810#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:09:49,169 INFO L273 TraceCheckUtils]: 3: Hoare triple {40810#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:09:49,170 INFO L273 TraceCheckUtils]: 4: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:09:49,171 INFO L273 TraceCheckUtils]: 5: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:09:49,172 INFO L273 TraceCheckUtils]: 6: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2019-02-27 13:09:49,173 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:09:49,173 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:09:49,252 INFO L273 TraceCheckUtils]: 6: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2019-02-27 13:09:49,253 INFO L273 TraceCheckUtils]: 5: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:09:49,254 INFO L273 TraceCheckUtils]: 4: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:09:49,255 INFO L273 TraceCheckUtils]: 3: Hoare triple {40834#(<= 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]; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:09:49,256 INFO L273 TraceCheckUtils]: 2: Hoare triple {40838#(<= 0 (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_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40834#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:09:49,258 INFO L273 TraceCheckUtils]: 1: Hoare triple {40842#(<= 0 (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_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40838#(<= 0 (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_p3))} is VALID [2019-02-27 13:09:49,260 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {40842#(<= 0 (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_p3))} is VALID [2019-02-27 13:09:49,261 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:09:49,280 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:09:49,281 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:09:49,281 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:09:49,281 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-27 13:09:49,281 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:09:49,281 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:09:49,306 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:09:49,306 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:09:49,306 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:09:49,306 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:09:49,307 INFO L87 Difference]: Start difference. First operand 139 states and 721 transitions. Second operand 10 states. [2019-02-27 13:09:57,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:57,336 INFO L93 Difference]: Finished difference Result 157 states and 743 transitions. [2019-02-27 13:09:57,336 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:09:57,336 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-27 13:09:57,336 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:09:57,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:09:57,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 53 transitions. [2019-02-27 13:09:57,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:09:57,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 53 transitions. [2019-02-27 13:09:57,337 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 53 transitions. [2019-02-27 13:09:57,411 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:09:57,414 INFO L225 Difference]: With dead ends: 157 [2019-02-27 13:09:57,414 INFO L226 Difference]: Without dead ends: 156 [2019-02-27 13:09:57,414 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:09:57,414 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2019-02-27 13:10:04,176 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 137. [2019-02-27 13:10:04,176 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:10:04,176 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand 137 states. [2019-02-27 13:10:04,176 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 137 states. [2019-02-27 13:10:04,176 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 137 states. [2019-02-27 13:10:04,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:04,180 INFO L93 Difference]: Finished difference Result 156 states and 740 transitions. [2019-02-27 13:10:04,180 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 740 transitions. [2019-02-27 13:10:04,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:10:04,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:10:04,181 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 156 states. [2019-02-27 13:10:04,181 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 156 states. [2019-02-27 13:10:04,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:04,184 INFO L93 Difference]: Finished difference Result 156 states and 740 transitions. [2019-02-27 13:10:04,184 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 740 transitions. [2019-02-27 13:10:04,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:10:04,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:10:04,185 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:10:04,185 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:10:04,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2019-02-27 13:10:04,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 718 transitions. [2019-02-27 13:10:04,188 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 718 transitions. Word has length 7 [2019-02-27 13:10:04,188 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:10:04,188 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 718 transitions. [2019-02-27 13:10:04,188 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:10:04,188 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 718 transitions. [2019-02-27 13:10:04,188 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:10:04,188 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:10:04,188 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:10:04,188 INFO L423 AbstractCegarLoop]: === Iteration 77 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:10:04,189 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:10:04,189 INFO L82 PathProgramCache]: Analyzing trace with hash -2026986990, now seen corresponding path program 2 times [2019-02-27 13:10:04,189 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:10:04,189 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:10:04,190 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:10:04,190 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:10:04,190 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:10:04,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:04,442 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {41694#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:10:04,443 INFO L273 TraceCheckUtils]: 1: Hoare triple {41694#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41695#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:10:04,444 INFO L273 TraceCheckUtils]: 2: Hoare triple {41695#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41696#(and (not (= ULTIMATE.start_main_p3 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) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:10:04,445 INFO L273 TraceCheckUtils]: 3: Hoare triple {41696#(and (not (= ULTIMATE.start_main_p3 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) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41697#(and (not (= ULTIMATE.start_main_p3 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) 0))} is VALID [2019-02-27 13:10:04,445 INFO L273 TraceCheckUtils]: 4: Hoare triple {41697#(and (not (= ULTIMATE.start_main_p3 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) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:10:04,446 INFO L273 TraceCheckUtils]: 5: Hoare triple {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-27 13:10:04,446 INFO L273 TraceCheckUtils]: 6: Hoare triple {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2019-02-27 13:10:04,446 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:10:04,446 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:10:04,447 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:10:04,447 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:10:04,447 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:10:04,447 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:10:04,447 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 75 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 75 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:10:04,457 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:10:04,457 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:10:04,463 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-27 13:10:04,463 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:10:04,463 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:10:04,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:04,466 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:10:04,483 INFO L467 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 [2019-02-27 13:10:04,493 INFO L467 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 [2019-02-27 13:10:04,504 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,505 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:10:04,523 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,525 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,525 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:10:04,544 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,548 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,549 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,550 INFO L467 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 [2019-02-27 13:10:04,555 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:04,576 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:04,590 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:04,603 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:04,615 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:04,634 INFO L301 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. [2019-02-27 13:10:04,634 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2019-02-27 13:10:04,640 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:04,640 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_480|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_480| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:10:04,640 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:10:04,717 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,718 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,720 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,721 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,722 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,723 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,725 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:04,725 INFO L467 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 [2019-02-27 13:10:04,730 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:04,761 INFO L301 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. [2019-02-27 13:10:04,761 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2019-02-27 13:10:06,774 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:06,775 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_481|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_481| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_481| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_481| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_481| ULTIMATE.start_main_p5) 0) (= .cse0 0) (= (select |v_#memory_int_481| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:10:06,775 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:10:06,841 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,843 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,844 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,845 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,846 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,847 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,848 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:10:06,849 INFO L467 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 47 [2019-02-27 13:10:06,853 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:06,884 INFO L301 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. [2019-02-27 13:10:06,884 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:42, output treesize:32 [2019-02-27 13:10:06,902 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:06,902 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_482|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_482| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_482| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_482| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_482| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_482| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:10:06,902 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:10:06,965 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,967 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,968 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,969 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,970 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,972 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,973 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,974 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:06,975 INFO L467 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 35 treesize of output 49 [2019-02-27 13:10:06,979 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:07,014 INFO L301 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. [2019-02-27 13:10:07,014 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:44, output treesize:34 [2019-02-27 13:10:09,042 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:09,042 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_483|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_483| ULTIMATE.start_main_p5))) (and (= 0 (+ (select |v_#memory_int_483| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_483| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (select |v_#memory_int_483| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_483| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:10:09,042 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:10:09,118 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:09,119 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:09,120 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:09,122 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:09,123 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:09,124 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:09,125 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:09,125 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:10:09,126 INFO L467 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 35 treesize of output 49 [2019-02-27 13:10:09,130 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:09,160 INFO L301 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. [2019-02-27 13:10:09,160 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2019-02-27 13:10:09,170 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:09,171 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_484|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_484| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_484| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_484| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_484| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_484| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:10:09,171 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:10:09,224 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {41702#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:10:09,225 INFO L273 TraceCheckUtils]: 1: Hoare triple {41702#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41706#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:10:09,227 INFO L273 TraceCheckUtils]: 2: Hoare triple {41706#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41710#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:10:09,229 INFO L273 TraceCheckUtils]: 3: Hoare triple {41710#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41714#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:10:09,232 INFO L273 TraceCheckUtils]: 4: Hoare triple {41714#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:10:09,233 INFO L273 TraceCheckUtils]: 5: Hoare triple {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:10:09,233 INFO L273 TraceCheckUtils]: 6: Hoare triple {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2019-02-27 13:10:09,234 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:10:09,234 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:10:09,342 INFO L273 TraceCheckUtils]: 6: Hoare triple {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2019-02-27 13:10:09,343 INFO L273 TraceCheckUtils]: 5: Hoare triple {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:09,344 INFO L273 TraceCheckUtils]: 4: Hoare triple {41732#(<= (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]; {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:09,345 INFO L273 TraceCheckUtils]: 3: Hoare triple {41736#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41732#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:09,347 INFO L273 TraceCheckUtils]: 2: Hoare triple {41740#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41736#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:09,349 INFO L273 TraceCheckUtils]: 1: Hoare triple {41744#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41740#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:09,351 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {41744#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:09,352 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:10:09,372 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:10:09,372 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-27 13:10:09,372 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:10:09,372 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:10:09,372 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:10:09,372 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:10:09,394 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:10:09,394 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:10:09,395 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:10:09,395 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:10:09,395 INFO L87 Difference]: Start difference. First operand 137 states and 718 transitions. Second operand 12 states. [2019-02-27 13:10:17,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:17,921 INFO L93 Difference]: Finished difference Result 178 states and 767 transitions. [2019-02-27 13:10:17,921 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:10:17,921 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:10:17,921 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:10:17,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:10:17,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2019-02-27 13:10:17,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:10:17,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2019-02-27 13:10:17,922 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 78 transitions. [2019-02-27 13:10:18,037 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:10:18,041 INFO L225 Difference]: With dead ends: 178 [2019-02-27 13:10:18,041 INFO L226 Difference]: Without dead ends: 177 [2019-02-27 13:10:18,041 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:10:18,041 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2019-02-27 13:10:24,110 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 123. [2019-02-27 13:10:24,111 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:10:24,111 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand 123 states. [2019-02-27 13:10:24,111 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand 123 states. [2019-02-27 13:10:24,111 INFO L87 Difference]: Start difference. First operand 177 states. Second operand 123 states. [2019-02-27 13:10:24,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:24,117 INFO L93 Difference]: Finished difference Result 177 states and 764 transitions. [2019-02-27 13:10:24,117 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 764 transitions. [2019-02-27 13:10:24,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:10:24,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:10:24,118 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 177 states. [2019-02-27 13:10:24,118 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 177 states. [2019-02-27 13:10:24,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:24,122 INFO L93 Difference]: Finished difference Result 177 states and 764 transitions. [2019-02-27 13:10:24,122 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 764 transitions. [2019-02-27 13:10:24,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:10:24,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:10:24,122 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:10:24,122 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:10:24,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2019-02-27 13:10:24,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 634 transitions. [2019-02-27 13:10:24,125 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 634 transitions. Word has length 7 [2019-02-27 13:10:24,125 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:10:24,125 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 634 transitions. [2019-02-27 13:10:24,125 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:10:24,125 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 634 transitions. [2019-02-27 13:10:24,126 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:10:24,126 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:10:24,126 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:10:24,126 INFO L423 AbstractCegarLoop]: === Iteration 78 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:10:24,126 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:10:24,126 INFO L82 PathProgramCache]: Analyzing trace with hash -2027404064, now seen corresponding path program 2 times [2019-02-27 13:10:24,126 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:10:24,127 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:10:24,127 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:10:24,127 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:10:24,127 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:10:24,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:24,403 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {42632#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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 [2019-02-27 13:10:24,405 INFO L273 TraceCheckUtils]: 1: Hoare triple {42632#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 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]; {42633#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:10:24,405 INFO L273 TraceCheckUtils]: 2: Hoare triple {42633#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:10:24,406 INFO L273 TraceCheckUtils]: 3: Hoare triple {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:10:24,407 INFO L273 TraceCheckUtils]: 4: Hoare triple {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {42635#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:10:24,407 INFO L273 TraceCheckUtils]: 5: Hoare triple {42635#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:24,407 INFO L273 TraceCheckUtils]: 6: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2019-02-27 13:10:24,408 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:10:24,408 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:10:24,408 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:10:24,408 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 13:10:24,408 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 13:10:24,408 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:10:24,408 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 76 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 76 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:10:24,418 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 13:10:24,419 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 13:10:24,425 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-27 13:10:24,426 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 13:10:24,426 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:10:24,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:24,429 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:10:24,449 INFO L467 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 [2019-02-27 13:10:24,457 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,457 INFO L467 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 [2019-02-27 13:10:24,470 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,471 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,472 INFO L467 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 [2019-02-27 13:10:24,489 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,490 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,491 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,492 INFO L467 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 [2019-02-27 13:10:24,515 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,516 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,517 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,519 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,519 INFO L467 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 [2019-02-27 13:10:24,525 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:24,562 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:24,579 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:24,593 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:24,605 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:24,626 INFO L301 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. [2019-02-27 13:10:24,626 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:10:24,632 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:24,633 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_489|, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_489| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:10:24,633 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:10:24,707 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,708 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,710 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,711 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,712 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,713 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,715 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,716 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,717 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,719 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,720 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,720 INFO L467 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 [2019-02-27 13:10:24,727 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:24,773 INFO L301 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. [2019-02-27 13:10:24,773 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:10:24,783 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:24,784 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_490|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_490| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_490| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_490| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_490| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_490| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_490| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2019-02-27 13:10:24,784 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:10:24,857 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,858 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,859 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,861 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,862 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,863 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,865 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,866 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,867 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,868 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:24,869 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:10:24,870 INFO L467 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 68 [2019-02-27 13:10:24,876 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:24,921 INFO L301 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. [2019-02-27 13:10:24,921 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-27 13:10:24,931 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:24,932 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_491|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_491| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_491| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_491| ULTIMATE.start_main_p1)) (= .cse0 0) (= (select |v_#memory_int_491| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_491| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_491| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2019-02-27 13:10:24,932 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:10:25,004 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,006 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,007 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,008 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,009 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,010 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,012 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,013 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,014 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,015 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,016 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,017 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,018 INFO L467 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 70 [2019-02-27 13:10:25,024 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:25,071 INFO L301 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. [2019-02-27 13:10:25,072 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:52, output treesize:42 [2019-02-27 13:10:25,085 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:25,085 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_492|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_492| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_492| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_492| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_492| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_492| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_492| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:10:25,085 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:10:25,160 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,162 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,163 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,164 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,166 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,167 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,168 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,169 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,171 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,172 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,173 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,174 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:25,175 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:10:25,176 INFO L467 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 70 [2019-02-27 13:10:25,182 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:25,228 INFO L301 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. [2019-02-27 13:10:25,228 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-27 13:10:27,314 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:27,315 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_493|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_493| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_493| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_493| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_493| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_493| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_493| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:10:27,315 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-27 13:10:27,413 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {42640#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:10:27,415 INFO L273 TraceCheckUtils]: 1: Hoare triple {42640#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {42644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:10:27,418 INFO L273 TraceCheckUtils]: 2: Hoare triple {42644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:10:27,421 INFO L273 TraceCheckUtils]: 3: Hoare triple {42648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42652#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:10:27,425 INFO L273 TraceCheckUtils]: 4: Hoare triple {42652#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:10:27,426 INFO L273 TraceCheckUtils]: 5: Hoare triple {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-27 13:10:27,426 INFO L273 TraceCheckUtils]: 6: Hoare triple {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2019-02-27 13:10:27,427 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:10:27,427 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:10:27,531 INFO L273 TraceCheckUtils]: 6: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2019-02-27 13:10:27,532 INFO L273 TraceCheckUtils]: 5: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:27,533 INFO L273 TraceCheckUtils]: 4: Hoare triple {42669#(<= (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]; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:27,534 INFO L273 TraceCheckUtils]: 3: Hoare triple {42673#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42669#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:27,536 INFO L273 TraceCheckUtils]: 2: Hoare triple {42677#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42673#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:27,538 INFO L273 TraceCheckUtils]: 1: Hoare triple {42681#(<= (select (store (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_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (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_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {42677#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:27,541 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {42681#(<= (select (store (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_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (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_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:10:27,541 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:10:27,562 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:10:27,562 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2019-02-27 13:10:27,562 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:10:27,563 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:10:27,563 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:10:27,563 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:10:27,589 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:10:27,589 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:10:27,590 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:10:27,590 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=150, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:10:27,590 INFO L87 Difference]: Start difference. First operand 123 states and 634 transitions. Second operand 12 states. [2019-02-27 13:10:37,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:37,337 INFO L93 Difference]: Finished difference Result 204 states and 845 transitions. [2019-02-27 13:10:37,337 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-02-27 13:10:37,337 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:10:37,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:10:37,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:10:37,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2019-02-27 13:10:37,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:10:37,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2019-02-27 13:10:37,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 93 transitions. [2019-02-27 13:10:37,488 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:10:37,492 INFO L225 Difference]: With dead ends: 204 [2019-02-27 13:10:37,492 INFO L226 Difference]: Without dead ends: 203 [2019-02-27 13:10:37,492 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 78 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=121, Invalid=221, Unknown=0, NotChecked=0, Total=342 [2019-02-27 13:10:37,492 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states. [2019-02-27 13:10:43,414 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 126. [2019-02-27 13:10:43,414 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:10:43,414 INFO L82 GeneralOperation]: Start isEquivalent. First operand 203 states. Second operand 126 states. [2019-02-27 13:10:43,414 INFO L74 IsIncluded]: Start isIncluded. First operand 203 states. Second operand 126 states. [2019-02-27 13:10:43,414 INFO L87 Difference]: Start difference. First operand 203 states. Second operand 126 states. [2019-02-27 13:10:43,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:43,420 INFO L93 Difference]: Finished difference Result 203 states and 840 transitions. [2019-02-27 13:10:43,420 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 840 transitions. [2019-02-27 13:10:43,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:10:43,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:10:43,420 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 203 states. [2019-02-27 13:10:43,420 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 203 states. [2019-02-27 13:10:43,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:43,425 INFO L93 Difference]: Finished difference Result 203 states and 840 transitions. [2019-02-27 13:10:43,425 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 840 transitions. [2019-02-27 13:10:43,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:10:43,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:10:43,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:10:43,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:10:43,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 126 states. [2019-02-27 13:10:43,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 654 transitions. [2019-02-27 13:10:43,428 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 654 transitions. Word has length 7 [2019-02-27 13:10:43,428 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:10:43,428 INFO L480 AbstractCegarLoop]: Abstraction has 126 states and 654 transitions. [2019-02-27 13:10:43,428 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:10:43,428 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 654 transitions. [2019-02-27 13:10:43,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:10:43,428 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:10:43,428 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:10:43,429 INFO L423 AbstractCegarLoop]: === Iteration 79 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:10:43,429 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:10:43,429 INFO L82 PathProgramCache]: Analyzing trace with hash -2027156062, now seen corresponding path program 1 times [2019-02-27 13:10:43,429 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:10:43,429 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:10:43,429 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 13:10:43,429 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:10:43,429 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:10:43,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:43,670 INFO L273 TraceCheckUtils]: 0: Hoare triple {43661#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {43663#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:10:43,672 INFO L273 TraceCheckUtils]: 1: Hoare triple {43663#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {43664#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:10:43,673 INFO L273 TraceCheckUtils]: 2: Hoare triple {43664#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {43664#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:10:43,673 INFO L273 TraceCheckUtils]: 3: Hoare triple {43664#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {43665#(and (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:10:43,674 INFO L273 TraceCheckUtils]: 4: Hoare triple {43665#(and (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)))} assume #memory_int[main_p1] >= 0; {43665#(and (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:10:43,675 INFO L273 TraceCheckUtils]: 5: Hoare triple {43665#(and (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)))} assume #memory_int[main_p2] <= 0; {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:10:43,675 INFO L273 TraceCheckUtils]: 6: Hoare triple {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {43662#false} is VALID [2019-02-27 13:10:43,676 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:10:43,676 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:10:43,676 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:10:43,676 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:10:43,676 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [24], [26], [27] [2019-02-27 13:10:43,677 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:10:43,677 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:10:43,699 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:10:43,700 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:10:43,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:10:43,700 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:10:43,700 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:10:43,700 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 77 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 77 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:10:43,709 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:10:43,709 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:10:43,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:43,716 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 8 conjunts are in the unsatisfiable core [2019-02-27 13:10:43,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:43,719 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:10:43,737 INFO L467 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 [2019-02-27 13:10:43,744 INFO L467 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 [2019-02-27 13:10:43,755 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:43,756 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-27 13:10:43,808 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:43,809 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:43,810 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-27 13:10:43,828 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:43,832 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:43,834 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:43,834 INFO L467 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 [2019-02-27 13:10:43,839 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:43,860 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:43,873 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:43,885 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:43,896 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:43,914 INFO L301 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. [2019-02-27 13:10:43,915 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-27 13:10:43,922 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:43,922 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_498|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_498| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:10:43,922 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:10:43,994 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:43,995 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:43,996 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:43,998 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:43,999 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,000 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,001 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,002 INFO L467 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 [2019-02-27 13:10:44,006 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:44,035 INFO L301 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. [2019-02-27 13:10:44,036 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-27 13:10:44,122 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:44,122 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_499|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_499| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_499| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_499| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_499| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_499| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:10:44,122 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:10:44,178 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,179 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,180 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,182 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,183 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,184 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,185 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:10:44,185 INFO L467 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 47 [2019-02-27 13:10:44,190 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:44,247 INFO L301 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. [2019-02-27 13:10:44,247 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-27 13:10:44,266 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:44,266 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_500|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_500| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (select |v_#memory_int_500| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_500| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_500| ULTIMATE.start_main_p5) 0) (= |#memory_int| (store |v_#memory_int_500| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:10:44,267 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:10:44,334 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,335 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,336 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,338 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,339 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,340 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,341 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,342 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:44,343 INFO L467 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 35 treesize of output 49 [2019-02-27 13:10:44,348 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:44,377 INFO L301 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. [2019-02-27 13:10:44,377 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2019-02-27 13:10:44,396 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:44,396 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_501|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_501| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_501| ULTIMATE.start_main_p2) 1) 0) (= 0 (select |v_#memory_int_501| ULTIMATE.start_main_p5)) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_501| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_501| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-27 13:10:44,397 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:10:44,495 INFO L273 TraceCheckUtils]: 0: Hoare triple {43661#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {43670#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:10:44,496 INFO L273 TraceCheckUtils]: 1: Hoare triple {43670#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {43674#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:10:44,499 INFO L273 TraceCheckUtils]: 2: Hoare triple {43674#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {43678#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:10:44,501 INFO L273 TraceCheckUtils]: 3: Hoare triple {43678#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:10:44,502 INFO L273 TraceCheckUtils]: 4: Hoare triple {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:10:44,503 INFO L273 TraceCheckUtils]: 5: Hoare triple {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:10:44,504 INFO L273 TraceCheckUtils]: 6: Hoare triple {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {43662#false} is VALID [2019-02-27 13:10:44,505 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:10:44,505 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:10:44,561 INFO L273 TraceCheckUtils]: 6: Hoare triple {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {43662#false} is VALID [2019-02-27 13:10:44,561 INFO L273 TraceCheckUtils]: 5: Hoare triple {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:10:44,562 INFO L273 TraceCheckUtils]: 4: Hoare triple {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:10:44,563 INFO L273 TraceCheckUtils]: 3: Hoare triple {43701#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:10:44,564 INFO L273 TraceCheckUtils]: 2: Hoare triple {43705#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {43701#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-02-27 13:10:44,565 INFO L273 TraceCheckUtils]: 1: Hoare triple {43709#(<= 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_p3) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {43705#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2019-02-27 13:10:44,567 INFO L273 TraceCheckUtils]: 0: Hoare triple {43661#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {43709#(<= 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_p3) 1))} is VALID [2019-02-27 13:10:44,568 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:10:44,587 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:10:44,587 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-27 13:10:44,587 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:10:44,587 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-27 13:10:44,587 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:10:44,588 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:10:44,609 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:10:44,609 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:10:44,609 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:10:44,609 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:10:44,610 INFO L87 Difference]: Start difference. First operand 126 states and 654 transitions. Second operand 10 states. [2019-02-27 13:10:53,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:53,328 INFO L93 Difference]: Finished difference Result 178 states and 835 transitions. [2019-02-27 13:10:53,328 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-27 13:10:53,328 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-27 13:10:53,328 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:10:53,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:10:53,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2019-02-27 13:10:53,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:10:53,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2019-02-27 13:10:53,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2019-02-27 13:10:53,416 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:10:53,421 INFO L225 Difference]: With dead ends: 178 [2019-02-27 13:10:53,421 INFO L226 Difference]: Without dead ends: 177 [2019-02-27 13:10:53,421 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=91, Invalid=149, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:10:53,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2019-02-27 13:10:58,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 108. [2019-02-27 13:10:58,725 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:10:58,725 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand 108 states. [2019-02-27 13:10:58,725 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand 108 states. [2019-02-27 13:10:58,725 INFO L87 Difference]: Start difference. First operand 177 states. Second operand 108 states. [2019-02-27 13:10:58,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:58,730 INFO L93 Difference]: Finished difference Result 177 states and 833 transitions. [2019-02-27 13:10:58,730 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 833 transitions. [2019-02-27 13:10:58,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:10:58,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:10:58,731 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand 177 states. [2019-02-27 13:10:58,731 INFO L87 Difference]: Start difference. First operand 108 states. Second operand 177 states. [2019-02-27 13:10:58,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:58,735 INFO L93 Difference]: Finished difference Result 177 states and 833 transitions. [2019-02-27 13:10:58,735 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 833 transitions. [2019-02-27 13:10:58,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:10:58,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:10:58,736 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:10:58,736 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:10:58,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 108 states. [2019-02-27 13:10:58,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 546 transitions. [2019-02-27 13:10:58,738 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 546 transitions. Word has length 7 [2019-02-27 13:10:58,738 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:10:58,739 INFO L480 AbstractCegarLoop]: Abstraction has 108 states and 546 transitions. [2019-02-27 13:10:58,739 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:10:58,739 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 546 transitions. [2019-02-27 13:10:58,739 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:10:58,739 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:10:58,739 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:10:58,739 INFO L423 AbstractCegarLoop]: === Iteration 80 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:10:58,739 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:10:58,739 INFO L82 PathProgramCache]: Analyzing trace with hash -2023162082, now seen corresponding path program 1 times [2019-02-27 13:10:58,739 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:10:58,740 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:10:58,740 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:10:58,740 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:10:58,740 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:10:58,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:59,150 WARN L181 SmtUtils]: Spent 225.00 ms on a formula simplification. DAG size of input: 14 DAG size of output: 9 [2019-02-27 13:10:59,397 INFO L273 TraceCheckUtils]: 0: Hoare triple {44578#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {44580#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:10:59,398 INFO L273 TraceCheckUtils]: 1: Hoare triple {44580#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {44581#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) 1) 0))} is VALID [2019-02-27 13:10:59,399 INFO L273 TraceCheckUtils]: 2: Hoare triple {44581#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-27 13:10:59,399 INFO L273 TraceCheckUtils]: 3: Hoare triple {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p1] >= 0; {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-27 13:10:59,400 INFO L273 TraceCheckUtils]: 4: Hoare triple {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p2] <= 0; {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-27 13:10:59,400 INFO L273 TraceCheckUtils]: 5: Hoare triple {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p3] >= 0; {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-27 13:10:59,401 INFO L273 TraceCheckUtils]: 6: Hoare triple {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume !(#memory_int[main_p4] <= 0); {44579#false} is VALID [2019-02-27 13:10:59,401 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:10:59,402 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:10:59,402 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:10:59,402 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:10:59,402 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [26], [28], [29] [2019-02-27 13:10:59,403 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:10:59,403 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:10:59,412 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:10:59,413 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-27 13:10:59,413 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:10:59,413 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:10:59,413 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:10:59,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 78 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 78 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:10:59,422 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:10:59,422 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:10:59,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:59,427 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 6 conjunts are in the unsatisfiable core [2019-02-27 13:10:59,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:59,430 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:10:59,445 INFO L467 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 [2019-02-27 13:10:59,453 INFO L467 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 [2019-02-27 13:10:59,465 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-27 13:10:59,480 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,481 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-27 13:10:59,714 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,735 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,736 INFO L292 Elim1Store]: Index analysis took 117 ms [2019-02-27 13:10:59,736 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-27 13:10:59,741 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:59,758 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:59,769 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:59,782 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:59,794 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:59,809 INFO L301 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. [2019-02-27 13:10:59,810 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2019-02-27 13:10:59,816 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:59,816 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_505|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (store (store (store (store (store |v_#memory_int_505| 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|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:10:59,816 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:10:59,873 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,874 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,875 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,876 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,877 INFO L467 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 [2019-02-27 13:10:59,880 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:59,897 INFO L301 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. [2019-02-27 13:10:59,898 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-02-27 13:10:59,903 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:59,903 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_506|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_506| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_506| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_506| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_506| ULTIMATE.start_main_p3)))) [2019-02-27 13:10:59,903 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:10:59,947 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,948 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,949 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,950 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,951 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:59,952 INFO L467 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 30 [2019-02-27 13:10:59,955 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:59,974 INFO L301 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. [2019-02-27 13:10:59,974 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-02-27 13:11:02,357 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:02,357 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_507|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_507| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_507| ULTIMATE.start_main_p5)) (= .cse0 0) (= 0 (+ (select |v_#memory_int_507| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_507| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|))) [2019-02-27 13:11:02,357 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:11:02,560 INFO L273 TraceCheckUtils]: 0: Hoare triple {44578#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {44586#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:11:02,561 INFO L273 TraceCheckUtils]: 1: Hoare triple {44586#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (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]; {44590#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-27 13:11:02,563 INFO L273 TraceCheckUtils]: 2: Hoare triple {44590#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} is VALID [2019-02-27 13:11:02,564 INFO L273 TraceCheckUtils]: 3: Hoare triple {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} assume #memory_int[main_p1] >= 0; {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} is VALID [2019-02-27 13:11:02,565 INFO L273 TraceCheckUtils]: 4: Hoare triple {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} assume #memory_int[main_p2] <= 0; {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} is VALID [2019-02-27 13:11:02,566 INFO L273 TraceCheckUtils]: 5: Hoare triple {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} assume #memory_int[main_p3] >= 0; {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} is VALID [2019-02-27 13:11:02,567 INFO L273 TraceCheckUtils]: 6: Hoare triple {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} assume !(#memory_int[main_p4] <= 0); {44579#false} is VALID [2019-02-27 13:11:02,567 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:11:02,568 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:11:02,627 INFO L273 TraceCheckUtils]: 6: Hoare triple {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {44579#false} is VALID [2019-02-27 13:11:02,627 INFO L273 TraceCheckUtils]: 5: Hoare triple {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:11:02,628 INFO L273 TraceCheckUtils]: 4: Hoare triple {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:11:02,628 INFO L273 TraceCheckUtils]: 3: Hoare triple {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:11:02,629 INFO L273 TraceCheckUtils]: 2: Hoare triple {44620#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:11:02,630 INFO L273 TraceCheckUtils]: 1: Hoare triple {44624#(<= (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_p4) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {44620#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) 0)} is VALID [2019-02-27 13:11:02,633 INFO L273 TraceCheckUtils]: 0: Hoare triple {44578#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {44624#(<= (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_p4) 0)} is VALID [2019-02-27 13:11:02,633 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:11:02,653 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:11:02,653 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:11:02,653 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:11:02,653 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2019-02-27 13:11:02,653 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:11:02,653 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:11:02,670 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:11:02,670 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:11:02,671 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:11:02,671 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:11:02,671 INFO L87 Difference]: Start difference. First operand 108 states and 546 transitions. Second operand 8 states. [2019-02-27 13:11:11,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:11,018 INFO L93 Difference]: Finished difference Result 134 states and 591 transitions. [2019-02-27 13:11:11,018 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:11:11,018 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2019-02-27 13:11:11,018 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:11:11,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:11:11,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-27 13:11:11,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 13:11:11,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-27 13:11:11,019 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2019-02-27 13:11:11,089 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:11:11,092 INFO L225 Difference]: With dead ends: 134 [2019-02-27 13:11:11,092 INFO L226 Difference]: Without dead ends: 133 [2019-02-27 13:11:11,092 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-27 13:11:11,092 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2019-02-27 13:11:16,696 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 113. [2019-02-27 13:11:16,696 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:11:16,696 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand 113 states. [2019-02-27 13:11:16,696 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 113 states. [2019-02-27 13:11:16,697 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 113 states. [2019-02-27 13:11:16,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:16,700 INFO L93 Difference]: Finished difference Result 133 states and 588 transitions. [2019-02-27 13:11:16,700 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 588 transitions. [2019-02-27 13:11:16,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:16,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:16,701 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 133 states. [2019-02-27 13:11:16,701 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 133 states. [2019-02-27 13:11:16,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:16,704 INFO L93 Difference]: Finished difference Result 133 states and 588 transitions. [2019-02-27 13:11:16,704 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 588 transitions. [2019-02-27 13:11:16,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:16,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:16,705 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:11:16,705 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:11:16,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2019-02-27 13:11:16,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 567 transitions. [2019-02-27 13:11:16,707 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 567 transitions. Word has length 7 [2019-02-27 13:11:16,707 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:11:16,707 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 567 transitions. [2019-02-27 13:11:16,707 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 13:11:16,708 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 567 transitions. [2019-02-27 13:11:16,708 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:11:16,708 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:11:16,708 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:11:16,708 INFO L423 AbstractCegarLoop]: === Iteration 81 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:11:16,708 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:11:16,708 INFO L82 PathProgramCache]: Analyzing trace with hash -1962747920, now seen corresponding path program 1 times [2019-02-27 13:11:16,708 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:11:16,709 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:16,709 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:11:16,709 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:16,709 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:11:16,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:16,925 INFO L273 TraceCheckUtils]: 0: Hoare triple {45325#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {45327#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:11:16,926 INFO L273 TraceCheckUtils]: 1: Hoare triple {45327#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= 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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {45328#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:11:16,927 INFO L273 TraceCheckUtils]: 2: Hoare triple {45328#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {45329#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:11:16,928 INFO L273 TraceCheckUtils]: 3: Hoare triple {45329#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:11:16,928 INFO L273 TraceCheckUtils]: 4: Hoare triple {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:11:16,928 INFO L273 TraceCheckUtils]: 5: Hoare triple {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:11:16,929 INFO L273 TraceCheckUtils]: 6: Hoare triple {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {45326#false} is VALID [2019-02-27 13:11:16,929 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:11:16,929 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:11:16,929 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:11:16,930 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:11:16,930 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [20], [24], [26], [27] [2019-02-27 13:11:16,931 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:11:16,931 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:11:17,045 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:11:17,045 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:11:17,045 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:11:17,046 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:11:17,046 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:11:17,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 79 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 79 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:11:17,062 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:11:17,062 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:11:17,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:17,081 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 9 conjunts are in the unsatisfiable core [2019-02-27 13:11:17,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:17,099 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:11:17,275 INFO L467 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 [2019-02-27 13:11:17,284 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,285 INFO L467 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 [2019-02-27 13:11:17,296 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,298 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,298 INFO L467 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 [2019-02-27 13:11:17,316 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,317 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,319 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,319 INFO L467 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 [2019-02-27 13:11:17,343 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,344 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,345 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,346 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,347 INFO L467 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 [2019-02-27 13:11:17,353 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,382 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,399 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,413 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,426 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,447 INFO L301 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. [2019-02-27 13:11:17,448 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:11:17,454 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:17,455 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_510|, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_510| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:11:17,455 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:11:17,522 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,523 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,524 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,526 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,527 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,528 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,529 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,530 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,531 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,533 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,534 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,534 INFO L467 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 [2019-02-27 13:11:17,541 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,584 INFO L301 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. [2019-02-27 13:11:17,584 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:11:19,603 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:19,603 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_511|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_511| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_511| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_511| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_511| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_511| ULTIMATE.start_main_p2)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_511| ULTIMATE.start_main_p1)))) [2019-02-27 13:11:19,603 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:11:19,691 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,693 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,694 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,695 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,696 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,698 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,699 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,700 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,702 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,703 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,704 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,705 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:19,706 INFO L467 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 66 [2019-02-27 13:11:19,712 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:19,756 INFO L301 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. [2019-02-27 13:11:19,756 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:11:21,762 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:21,762 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_512|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_512| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_512| ULTIMATE.start_main_p1)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_512| ULTIMATE.start_main_p5) 1) (= 0 (select |v_#memory_int_512| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_512| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_512| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2019-02-27 13:11:21,762 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:11:21,844 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:21,845 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:21,846 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:21,847 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:21,848 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:21,850 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:21,851 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:21,852 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:21,853 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:21,854 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:21,855 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:21,856 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:11:21,857 INFO L467 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 68 [2019-02-27 13:11:21,863 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:21,910 INFO L301 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. [2019-02-27 13:11:21,910 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-27 13:11:24,065 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:24,065 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_513|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_513| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_513| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 1 (select |v_#memory_int_513| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_513| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_513| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_513| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:11:24,066 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:11:24,182 INFO L273 TraceCheckUtils]: 0: Hoare triple {45325#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {45334#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:11:24,184 INFO L273 TraceCheckUtils]: 1: Hoare triple {45334#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {45338#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:11:24,185 INFO L273 TraceCheckUtils]: 2: Hoare triple {45338#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {45342#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-27 13:11:24,189 INFO L273 TraceCheckUtils]: 3: Hoare triple {45342#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:11:24,190 INFO L273 TraceCheckUtils]: 4: Hoare triple {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:11:24,190 INFO L273 TraceCheckUtils]: 5: Hoare triple {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:11:24,191 INFO L273 TraceCheckUtils]: 6: Hoare triple {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {45326#false} is VALID [2019-02-27 13:11:24,192 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:11:24,192 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:11:24,275 INFO L273 TraceCheckUtils]: 6: Hoare triple {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {45326#false} is VALID [2019-02-27 13:11:24,276 INFO L273 TraceCheckUtils]: 5: Hoare triple {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:24,276 INFO L273 TraceCheckUtils]: 4: Hoare triple {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:24,277 INFO L273 TraceCheckUtils]: 3: Hoare triple {45366#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:24,279 INFO L273 TraceCheckUtils]: 2: Hoare triple {45370#(<= 0 (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_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {45366#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:24,281 INFO L273 TraceCheckUtils]: 1: Hoare triple {45374#(<= 0 (select (store (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 (+ (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)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {45370#(<= 0 (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_p3))} is VALID [2019-02-27 13:11:24,283 INFO L273 TraceCheckUtils]: 0: Hoare triple {45325#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {45374#(<= 0 (select (store (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 (+ (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)) ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:24,284 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:11:24,303 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:11:24,303 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-27 13:11:24,303 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:11:24,303 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-27 13:11:24,303 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:11:24,304 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:11:24,328 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:11:24,328 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:11:24,329 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:11:24,329 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=114, Unknown=0, NotChecked=0, Total=182 [2019-02-27 13:11:24,329 INFO L87 Difference]: Start difference. First operand 113 states and 567 transitions. Second operand 10 states. [2019-02-27 13:11:33,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:33,357 INFO L93 Difference]: Finished difference Result 143 states and 604 transitions. [2019-02-27 13:11:33,357 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-27 13:11:33,357 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-27 13:11:33,357 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:11:33,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:11:33,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2019-02-27 13:11:33,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:11:33,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2019-02-27 13:11:33,358 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 64 transitions. [2019-02-27 13:11:33,465 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:11:33,468 INFO L225 Difference]: With dead ends: 143 [2019-02-27 13:11:33,468 INFO L226 Difference]: Without dead ends: 142 [2019-02-27 13:11:33,469 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=101, Invalid=171, Unknown=0, NotChecked=0, Total=272 [2019-02-27 13:11:33,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2019-02-27 13:11:39,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 113. [2019-02-27 13:11:39,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:11:39,170 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand 113 states. [2019-02-27 13:11:39,170 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand 113 states. [2019-02-27 13:11:39,170 INFO L87 Difference]: Start difference. First operand 142 states. Second operand 113 states. [2019-02-27 13:11:39,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:39,174 INFO L93 Difference]: Finished difference Result 142 states and 602 transitions. [2019-02-27 13:11:39,174 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 602 transitions. [2019-02-27 13:11:39,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:39,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:39,175 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 142 states. [2019-02-27 13:11:39,175 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 142 states. [2019-02-27 13:11:39,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:39,178 INFO L93 Difference]: Finished difference Result 142 states and 602 transitions. [2019-02-27 13:11:39,178 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 602 transitions. [2019-02-27 13:11:39,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:39,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:39,179 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:11:39,179 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:11:39,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2019-02-27 13:11:39,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 567 transitions. [2019-02-27 13:11:39,181 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 567 transitions. Word has length 7 [2019-02-27 13:11:39,181 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:11:39,181 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 567 transitions. [2019-02-27 13:11:39,181 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:11:39,181 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 567 transitions. [2019-02-27 13:11:39,181 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:11:39,181 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:11:39,182 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:11:39,182 INFO L423 AbstractCegarLoop]: === Iteration 82 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:11:39,182 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:11:39,182 INFO L82 PathProgramCache]: Analyzing trace with hash -1962509592, now seen corresponding path program 1 times [2019-02-27 13:11:39,182 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:11:39,183 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:39,183 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:11:39,183 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:39,183 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:11:39,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:39,539 INFO L273 TraceCheckUtils]: 0: Hoare triple {46107#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {46109#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= 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)))} is VALID [2019-02-27 13:11:39,540 INFO L273 TraceCheckUtils]: 1: Hoare triple {46109#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= 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)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {46110#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-27 13:11:39,541 INFO L273 TraceCheckUtils]: 2: Hoare triple {46110#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {46111#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:11:39,542 INFO L273 TraceCheckUtils]: 3: Hoare triple {46111#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:39,542 INFO L273 TraceCheckUtils]: 4: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:39,543 INFO L273 TraceCheckUtils]: 5: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:39,543 INFO L273 TraceCheckUtils]: 6: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {46108#false} is VALID [2019-02-27 13:11:39,544 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:11:39,544 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:11:39,544 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:11:39,544 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:11:39,544 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [20], [24], [26], [27] [2019-02-27 13:11:39,546 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:11:39,546 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:11:39,559 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:11:39,559 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-27 13:11:39,559 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:11:39,559 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:11:39,560 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:11:39,560 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 80 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 80 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:11:39,568 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:11:39,568 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:11:39,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:39,573 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 7 conjunts are in the unsatisfiable core [2019-02-27 13:11:39,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:39,576 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:11:39,592 INFO L467 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 [2019-02-27 13:11:39,598 INFO L467 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 [2019-02-27 13:11:39,608 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-27 13:11:39,627 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:39,628 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-27 13:11:39,644 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:39,651 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:39,652 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-27 13:11:39,657 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:39,674 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:39,687 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:39,698 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:39,710 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:39,727 INFO L301 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. [2019-02-27 13:11:39,727 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:25, output treesize:32 [2019-02-27 13:11:39,734 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:39,734 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_517|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_517| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:11:39,734 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:11:39,791 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:39,792 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:39,794 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:39,795 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:39,795 INFO L467 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 [2019-02-27 13:11:39,799 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:39,813 INFO L301 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. [2019-02-27 13:11:39,813 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-02-27 13:11:41,826 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:41,827 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_518|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_518| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (= (store |v_#memory_int_518| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_518| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_518| ULTIMATE.start_main_p4) 0))) [2019-02-27 13:11:41,827 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:11:41,883 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:41,885 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:41,886 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:41,887 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:41,888 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:41,889 INFO L467 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 26 treesize of output 28 [2019-02-27 13:11:41,892 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:41,909 INFO L301 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. [2019-02-27 13:11:41,909 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-02-27 13:11:41,916 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:41,917 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_519|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_519| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_519| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_519| ULTIMATE.start_main_p5) 1) (= 0 (select |v_#memory_int_519| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-27 13:11:41,917 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:11:41,961 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:41,962 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:41,963 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:41,964 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:41,965 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:11:41,966 INFO L467 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 30 [2019-02-27 13:11:41,969 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:41,987 INFO L301 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. [2019-02-27 13:11:41,988 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-02-27 13:11:41,994 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:41,994 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_520|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_520| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_520| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_520| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 1 (select |v_#memory_int_520| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0))) [2019-02-27 13:11:41,994 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-27 13:11:42,046 INFO L273 TraceCheckUtils]: 0: Hoare triple {46107#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {46116#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:11:42,048 INFO L273 TraceCheckUtils]: 1: Hoare triple {46116#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {46120#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< 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 [2019-02-27 13:11:42,050 INFO L273 TraceCheckUtils]: 2: Hoare triple {46120#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {46124#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:11:42,051 INFO L273 TraceCheckUtils]: 3: Hoare triple {46124#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:11:42,052 INFO L273 TraceCheckUtils]: 4: Hoare triple {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:11:42,053 INFO L273 TraceCheckUtils]: 5: Hoare triple {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-27 13:11:42,054 INFO L273 TraceCheckUtils]: 6: Hoare triple {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {46108#false} is VALID [2019-02-27 13:11:42,054 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:11:42,055 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:11:42,110 INFO L273 TraceCheckUtils]: 6: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {46108#false} is VALID [2019-02-27 13:11:42,110 INFO L273 TraceCheckUtils]: 5: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:42,111 INFO L273 TraceCheckUtils]: 4: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:42,112 INFO L273 TraceCheckUtils]: 3: Hoare triple {46147#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:42,113 INFO L273 TraceCheckUtils]: 2: Hoare triple {46151#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {46147#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-02-27 13:11:42,114 INFO L273 TraceCheckUtils]: 1: Hoare triple {46155#(<= 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_p3) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {46151#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2019-02-27 13:11:42,116 INFO L273 TraceCheckUtils]: 0: Hoare triple {46107#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {46155#(<= 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_p3) 1))} is VALID [2019-02-27 13:11:42,117 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:11:42,136 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:11:42,136 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-27 13:11:42,136 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:11:42,137 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-27 13:11:42,137 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:11:42,137 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-27 13:11:42,154 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:11:42,154 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-27 13:11:42,154 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-27 13:11:42,154 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=91, Unknown=0, NotChecked=0, Total=156 [2019-02-27 13:11:42,155 INFO L87 Difference]: Start difference. First operand 113 states and 567 transitions. Second operand 10 states. [2019-02-27 13:11:49,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:49,184 INFO L93 Difference]: Finished difference Result 151 states and 642 transitions. [2019-02-27 13:11:49,184 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-27 13:11:49,185 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-27 13:11:49,185 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:11:49,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:11:49,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2019-02-27 13:11:49,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-27 13:11:49,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2019-02-27 13:11:49,186 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 72 transitions. [2019-02-27 13:11:49,287 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:11:49,291 INFO L225 Difference]: With dead ends: 151 [2019-02-27 13:11:49,291 INFO L226 Difference]: Without dead ends: 150 [2019-02-27 13:11:49,291 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=85, Invalid=125, Unknown=0, NotChecked=0, Total=210 [2019-02-27 13:11:49,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 150 states. [2019-02-27 13:11:55,551 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 150 to 121. [2019-02-27 13:11:55,551 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:11:55,551 INFO L82 GeneralOperation]: Start isEquivalent. First operand 150 states. Second operand 121 states. [2019-02-27 13:11:55,551 INFO L74 IsIncluded]: Start isIncluded. First operand 150 states. Second operand 121 states. [2019-02-27 13:11:55,552 INFO L87 Difference]: Start difference. First operand 150 states. Second operand 121 states. [2019-02-27 13:11:55,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:55,556 INFO L93 Difference]: Finished difference Result 150 states and 640 transitions. [2019-02-27 13:11:55,556 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 640 transitions. [2019-02-27 13:11:55,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:55,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:55,556 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 150 states. [2019-02-27 13:11:55,556 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 150 states. [2019-02-27 13:11:55,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:55,560 INFO L93 Difference]: Finished difference Result 150 states and 640 transitions. [2019-02-27 13:11:55,560 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 640 transitions. [2019-02-27 13:11:55,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:55,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:55,560 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:11:55,560 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:11:55,560 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 121 states. [2019-02-27 13:11:55,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 615 transitions. [2019-02-27 13:11:55,563 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 615 transitions. Word has length 7 [2019-02-27 13:11:55,563 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:11:55,563 INFO L480 AbstractCegarLoop]: Abstraction has 121 states and 615 transitions. [2019-02-27 13:11:55,563 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-27 13:11:55,563 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 615 transitions. [2019-02-27 13:11:55,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:11:55,564 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:11:55,564 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:11:55,564 INFO L423 AbstractCegarLoop]: === Iteration 83 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:11:55,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:11:55,564 INFO L82 PathProgramCache]: Analyzing trace with hash -1973605362, now seen corresponding path program 1 times [2019-02-27 13:11:55,564 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:11:55,565 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:55,565 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:11:55,565 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:55,565 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:11:55,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:55,811 INFO L273 TraceCheckUtils]: 0: Hoare triple {46932#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {46934#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:11:55,812 INFO L273 TraceCheckUtils]: 1: Hoare triple {46934#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 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]; {46935#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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 [2019-02-27 13:11:55,813 INFO L273 TraceCheckUtils]: 2: Hoare triple {46935#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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]; {46935#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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 [2019-02-27 13:11:55,814 INFO L273 TraceCheckUtils]: 3: Hoare triple {46935#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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_p3 := #memory_int[main_p3] + 1]; {46936#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:11:55,815 INFO L273 TraceCheckUtils]: 4: Hoare triple {46936#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {46937#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-27 13:11:55,815 INFO L273 TraceCheckUtils]: 5: Hoare triple {46937#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:11:55,816 INFO L273 TraceCheckUtils]: 6: Hoare triple {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {46933#false} is VALID [2019-02-27 13:11:55,816 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 13:11:55,816 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:11:55,816 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:11:55,817 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:11:55,817 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [20], [24], [25] [2019-02-27 13:11:55,818 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:11:55,818 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:11:55,825 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:11:55,826 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-27 13:11:55,826 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:11:55,826 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:11:55,826 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:11:55,826 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 81 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 81 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:11:55,836 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:11:55,837 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:11:55,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:55,841 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:11:55,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:55,845 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:11:55,869 INFO L467 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 [2019-02-27 13:11:55,878 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:55,878 INFO L467 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 [2019-02-27 13:11:55,891 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:55,893 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:55,893 INFO L467 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 [2019-02-27 13:11:55,911 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:55,912 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:55,913 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:55,914 INFO L467 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 [2019-02-27 13:11:55,938 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:55,939 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:55,940 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:55,941 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:55,942 INFO L467 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 [2019-02-27 13:11:55,948 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:55,978 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:55,996 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:56,010 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:56,022 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:56,045 INFO L301 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. [2019-02-27 13:11:56,045 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-27 13:11:56,054 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:56,054 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_524|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_524| 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|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:11:56,054 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:11:56,124 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,125 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,126 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,127 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,128 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,130 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,131 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,132 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,133 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,134 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,135 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,136 INFO L467 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 [2019-02-27 13:11:56,142 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:56,186 INFO L301 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. [2019-02-27 13:11:56,187 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-27 13:11:56,657 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:56,657 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_525|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_525| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_525| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_525| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_525| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_525| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_525| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:11:56,657 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:11:56,744 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,746 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,747 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,748 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,750 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,751 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,752 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,754 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,755 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,756 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,757 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,758 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:11:56,759 INFO L467 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 [2019-02-27 13:11:56,765 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:56,813 INFO L301 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. [2019-02-27 13:11:56,814 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-27 13:11:56,826 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:56,826 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_526|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_526| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_526| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_526| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 0) (= 0 (select |v_#memory_int_526| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_526| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_526| ULTIMATE.start_main_p5) 1))) [2019-02-27 13:11:56,827 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 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) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:11:56,899 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,900 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,901 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,903 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,904 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,905 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,907 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,908 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,909 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,910 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,912 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:56,912 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 13:11:56,913 INFO L467 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 [2019-02-27 13:11:56,919 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:56,965 INFO L301 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. [2019-02-27 13:11:56,966 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:11:59,015 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:59,016 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_527|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_527| ULTIMATE.start_main_p3))) (and (= 1 (select |v_#memory_int_527| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_527| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_527| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_527| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_527| ULTIMATE.start_main_p2) 0))) [2019-02-27 13:11:59,016 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:11:59,142 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,143 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,144 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,146 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,147 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,148 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,150 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,151 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,152 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,153 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,155 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,156 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:59,157 INFO L467 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 66 [2019-02-27 13:11:59,189 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:59,317 INFO L301 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. [2019-02-27 13:11:59,318 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-27 13:11:59,354 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:59,355 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_528|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_528| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_528| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_528| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_528| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_528| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_528| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:11:59,355 WARN L399 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-27 13:11:59,458 INFO L273 TraceCheckUtils]: 0: Hoare triple {46932#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {46942#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:11:59,460 INFO L273 TraceCheckUtils]: 1: Hoare triple {46942#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {46946#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:11:59,464 INFO L273 TraceCheckUtils]: 2: Hoare triple {46946#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {46950#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-27 13:11:59,468 INFO L273 TraceCheckUtils]: 3: Hoare triple {46950#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {46954#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:11:59,471 INFO L273 TraceCheckUtils]: 4: Hoare triple {46954#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {46958#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:11:59,471 INFO L273 TraceCheckUtils]: 5: Hoare triple {46958#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {46958#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-27 13:11:59,472 INFO L273 TraceCheckUtils]: 6: Hoare triple {46958#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {46933#false} is VALID [2019-02-27 13:11:59,473 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:11:59,473 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:11:59,584 INFO L273 TraceCheckUtils]: 6: Hoare triple {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {46933#false} is VALID [2019-02-27 13:11:59,585 INFO L273 TraceCheckUtils]: 5: Hoare triple {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:11:59,586 INFO L273 TraceCheckUtils]: 4: Hoare triple {46971#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:11:59,586 INFO L273 TraceCheckUtils]: 3: Hoare triple {46975#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {46971#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:11:59,588 INFO L273 TraceCheckUtils]: 2: Hoare triple {46979#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {46975#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:11:59,590 INFO L273 TraceCheckUtils]: 1: Hoare triple {46983#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {46979#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:11:59,592 INFO L273 TraceCheckUtils]: 0: Hoare triple {46932#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {46983#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-27 13:11:59,593 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:11:59,611 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:11:59,611 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2019-02-27 13:11:59,611 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:11:59,612 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:11:59,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:11:59,612 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 13:11:59,638 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:11:59,638 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 13:11:59,638 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 13:11:59,639 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2019-02-27 13:11:59,639 INFO L87 Difference]: Start difference. First operand 121 states and 615 transitions. Second operand 12 states. [2019-02-27 13:12:10,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:12:10,859 INFO L93 Difference]: Finished difference Result 215 states and 931 transitions. [2019-02-27 13:12:10,859 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-02-27 13:12:10,860 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 13:12:10,860 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:12:10,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:12:10,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 88 transitions. [2019-02-27 13:12:10,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 13:12:10,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 88 transitions. [2019-02-27 13:12:10,861 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 88 transitions. [2019-02-27 13:12:11,015 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:12:11,021 INFO L225 Difference]: With dead ends: 215 [2019-02-27 13:12:11,021 INFO L226 Difference]: Without dead ends: 214 [2019-02-27 13:12:11,021 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2019-02-27 13:12:11,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 214 states. [2019-02-27 13:12:18,729 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 214 to 142. [2019-02-27 13:12:18,730 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:12:18,730 INFO L82 GeneralOperation]: Start isEquivalent. First operand 214 states. Second operand 142 states. [2019-02-27 13:12:18,730 INFO L74 IsIncluded]: Start isIncluded. First operand 214 states. Second operand 142 states. [2019-02-27 13:12:18,730 INFO L87 Difference]: Start difference. First operand 214 states. Second operand 142 states. [2019-02-27 13:12:18,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:12:18,736 INFO L93 Difference]: Finished difference Result 214 states and 928 transitions. [2019-02-27 13:12:18,736 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 928 transitions. [2019-02-27 13:12:18,737 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:12:18,737 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:12:18,737 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand 214 states. [2019-02-27 13:12:18,737 INFO L87 Difference]: Start difference. First operand 142 states. Second operand 214 states. [2019-02-27 13:12:18,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:12:18,742 INFO L93 Difference]: Finished difference Result 214 states and 928 transitions. [2019-02-27 13:12:18,742 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 928 transitions. [2019-02-27 13:12:18,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:12:18,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:12:18,743 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:12:18,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:12:18,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 142 states. [2019-02-27 13:12:18,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 741 transitions. [2019-02-27 13:12:18,746 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 741 transitions. Word has length 7 [2019-02-27 13:12:18,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:12:18,746 INFO L480 AbstractCegarLoop]: Abstraction has 142 states and 741 transitions. [2019-02-27 13:12:18,746 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 13:12:18,746 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 741 transitions. [2019-02-27 13:12:18,747 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 13:12:18,747 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:12:18,747 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-27 13:12:18,747 INFO L423 AbstractCegarLoop]: === Iteration 84 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:12:18,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:12:18,747 INFO L82 PathProgramCache]: Analyzing trace with hash -1956607002, now seen corresponding path program 1 times [2019-02-27 13:12:18,747 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:12:18,747 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:12:18,747 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:12:18,748 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:12:18,748 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:12:18,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:12:18,773 INFO L273 TraceCheckUtils]: 0: Hoare triple {48043#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {48045#(= (select |#memory_int| ULTIMATE.start_main_p5) 0)} is VALID [2019-02-27 13:12:18,774 INFO L273 TraceCheckUtils]: 1: Hoare triple {48045#(= (select |#memory_int| ULTIMATE.start_main_p5) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:18,775 INFO L273 TraceCheckUtils]: 2: Hoare triple {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p1] >= 0; {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:18,775 INFO L273 TraceCheckUtils]: 3: Hoare triple {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p2] <= 0; {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:18,776 INFO L273 TraceCheckUtils]: 4: Hoare triple {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p3] >= 0; {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:18,776 INFO L273 TraceCheckUtils]: 5: Hoare triple {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p4] <= 0; {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:18,777 INFO L273 TraceCheckUtils]: 6: Hoare triple {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume !(#memory_int[main_p5] >= 0); {48044#false} is VALID [2019-02-27 13:12:18,777 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:12:18,778 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:12:18,778 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:12:18,778 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-27 13:12:18,778 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [26], [28], [30], [31] [2019-02-27 13:12:18,779 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:12:18,779 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:12:18,811 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:12:18,811 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 13:12:18,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:12:18,812 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:12:18,812 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:12:18,812 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 82 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 82 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 13:12:18,823 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:12:18,823 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:12:18,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:12:18,842 INFO L256 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 3 conjunts are in the unsatisfiable core [2019-02-27 13:12:18,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:12:18,857 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:12:18,956 INFO L467 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 [2019-02-27 13:12:18,993 INFO L467 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 [2019-02-27 13:12:19,003 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-27 13:12:19,016 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 27 [2019-02-27 13:12:19,034 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 26 [2019-02-27 13:12:19,039 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 13:12:19,050 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:12:19,062 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:12:19,074 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:12:19,086 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:12:19,098 INFO L301 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. [2019-02-27 13:12:19,098 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 5 variables, input treesize:18, output treesize:26 [2019-02-27 13:12:19,107 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:12:19,107 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_533|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (= (store (store (store (store (store |v_#memory_int_533| 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|) [2019-02-27 13:12:19,107 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-27 13:12:19,201 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:12:19,202 INFO L467 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 5 [2019-02-27 13:12:19,204 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:12:19,206 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:12:19,206 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:5 [2019-02-27 13:12:19,214 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:12:19,214 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_534|]. (let ((.cse0 (select |v_#memory_int_534| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_534| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0))) [2019-02-27 13:12:19,214 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) [2019-02-27 13:12:19,226 INFO L273 TraceCheckUtils]: 0: Hoare triple {48043#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {48045#(= (select |#memory_int| ULTIMATE.start_main_p5) 0)} is VALID [2019-02-27 13:12:19,227 INFO L273 TraceCheckUtils]: 1: Hoare triple {48045#(= (select |#memory_int| ULTIMATE.start_main_p5) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:19,227 INFO L273 TraceCheckUtils]: 2: Hoare triple {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p1] >= 0; {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:19,228 INFO L273 TraceCheckUtils]: 3: Hoare triple {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p2] <= 0; {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:19,228 INFO L273 TraceCheckUtils]: 4: Hoare triple {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p3] >= 0; {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:19,229 INFO L273 TraceCheckUtils]: 5: Hoare triple {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p4] <= 0; {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:19,229 INFO L273 TraceCheckUtils]: 6: Hoare triple {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume !(#memory_int[main_p5] >= 0); {48044#false} is VALID [2019-02-27 13:12:19,230 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:12:19,230 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:12:19,254 INFO L273 TraceCheckUtils]: 6: Hoare triple {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} assume !(#memory_int[main_p5] >= 0); {48044#false} is VALID [2019-02-27 13:12:19,255 INFO L273 TraceCheckUtils]: 5: Hoare triple {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p4] <= 0; {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:19,255 INFO L273 TraceCheckUtils]: 4: Hoare triple {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p3] >= 0; {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:19,256 INFO L273 TraceCheckUtils]: 3: Hoare triple {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p2] <= 0; {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:19,256 INFO L273 TraceCheckUtils]: 2: Hoare triple {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p1] >= 0; {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:19,257 INFO L273 TraceCheckUtils]: 1: Hoare triple {48085#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-27 13:12:19,259 INFO L273 TraceCheckUtils]: 0: Hoare triple {48043#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;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#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]; {48085#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))} is VALID [2019-02-27 13:12:19,259 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 13:12:19,278 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-27 13:12:19,279 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2019-02-27 13:12:19,279 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 13:12:19,279 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 7 [2019-02-27 13:12:19,279 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:12:19,279 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-27 13:12:19,286 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:12:19,287 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-27 13:12:19,287 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-27 13:12:19,287 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2019-02-27 13:12:19,287 INFO L87 Difference]: Start difference. First operand 142 states and 741 transitions. Second operand 4 states. [2019-02-27 13:12:33,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:12:33,933 INFO L93 Difference]: Finished difference Result 280 states and 1413 transitions. [2019-02-27 13:12:33,933 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-02-27 13:12:33,933 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 7 [2019-02-27 13:12:33,933 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:12:33,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 13:12:33,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2019-02-27 13:12:33,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 13:12:33,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2019-02-27 13:12:33,934 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 43 transitions. [2019-02-27 13:12:33,972 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:12:33,979 INFO L225 Difference]: With dead ends: 280 [2019-02-27 13:12:33,979 INFO L226 Difference]: Without dead ends: 275 [2019-02-27 13:12:33,979 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 8 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2019-02-27 13:12:33,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states.