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-7-limited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-0302a3f [2019-02-27 13:07:37,610 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-02-27 13:07:37,612 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-02-27 13:07:37,624 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-02-27 13:07:37,625 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-02-27 13:07:37,626 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-02-27 13:07:37,627 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-02-27 13:07:37,629 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-02-27 13:07:37,631 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-02-27 13:07:37,632 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-02-27 13:07:37,633 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-02-27 13:07:37,633 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-02-27 13:07:37,634 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-02-27 13:07:37,635 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-02-27 13:07:37,636 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-02-27 13:07:37,637 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-02-27 13:07:37,638 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-02-27 13:07:37,640 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-02-27 13:07:37,642 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-02-27 13:07:37,644 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-02-27 13:07:37,645 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-02-27 13:07:37,646 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-02-27 13:07:37,649 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-02-27 13:07:37,649 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-02-27 13:07:37,649 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-02-27 13:07:37,650 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-02-27 13:07:37,651 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-02-27 13:07:37,652 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-02-27 13:07:37,653 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-02-27 13:07:37,654 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-02-27 13:07:37,655 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-02-27 13:07:37,655 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-02-27 13:07:37,656 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-02-27 13:07:37,656 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-02-27 13:07:37,657 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-02-27 13:07:37,658 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2019-02-27 13:07:37,658 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 13:07:37,682 INFO L110 SettingsManager]: Loading preferences was successful [2019-02-27 13:07:37,682 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2019-02-27 13:07:37,683 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2019-02-27 13:07:37,684 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2019-02-27 13:07:37,684 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2019-02-27 13:07:37,684 INFO L133 SettingsManager]: * User list type=DISABLED [2019-02-27 13:07:37,684 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2019-02-27 13:07:37,685 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2019-02-27 13:07:37,685 INFO L133 SettingsManager]: * Explicit value domain=true [2019-02-27 13:07:37,685 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2019-02-27 13:07:37,685 INFO L133 SettingsManager]: * Octagon Domain=false [2019-02-27 13:07:37,685 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2019-02-27 13:07:37,686 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2019-02-27 13:07:37,686 INFO L133 SettingsManager]: * Interval Domain=false [2019-02-27 13:07:37,687 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-02-27 13:07:37,687 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2019-02-27 13:07:37,687 INFO L133 SettingsManager]: * Use SBE=true [2019-02-27 13:07:37,687 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-02-27 13:07:37,687 INFO L133 SettingsManager]: * sizeof long=4 [2019-02-27 13:07:37,688 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2019-02-27 13:07:37,688 INFO L133 SettingsManager]: * sizeof POINTER=4 [2019-02-27 13:07:37,688 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2019-02-27 13:07:37,688 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-02-27 13:07:37,688 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-02-27 13:07:37,689 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-02-27 13:07:37,689 INFO L133 SettingsManager]: * sizeof long double=12 [2019-02-27 13:07:37,689 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2019-02-27 13:07:37,689 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-02-27 13:07:37,690 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-02-27 13:07:37,690 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-02-27 13:07:37,690 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2019-02-27 13:07:37,690 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-02-27 13:07:37,690 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-02-27 13:07:37,691 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-02-27 13:07:37,691 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-02-27 13:07:37,691 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2019-02-27 13:07:37,691 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2019-02-27 13:07:37,691 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2019-02-27 13:07:37,692 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-02-27 13:07:37,692 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2019-02-27 13:07:37,722 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-02-27 13:07:37,735 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-02-27 13:07:37,738 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-02-27 13:07:37,740 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-02-27 13:07:37,741 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2019-02-27 13:07:37,741 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-7-limited.bpl [2019-02-27 13:07:37,742 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-7-limited.bpl' [2019-02-27 13:07:37,788 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-02-27 13:07:37,790 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-02-27 13:07:37,791 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-02-27 13:07:37,791 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-02-27 13:07:37,791 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2019-02-27 13:07:37,808 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 01:07:37" (1/1) ... [2019-02-27 13:07:37,822 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 01:07:37" (1/1) ... [2019-02-27 13:07:37,858 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-02-27 13:07:37,859 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-02-27 13:07:37,860 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-02-27 13:07:37,860 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2019-02-27 13:07:37,872 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 01:07:37" (1/1) ... [2019-02-27 13:07:37,873 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 01:07:37" (1/1) ... [2019-02-27 13:07:37,875 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 01:07:37" (1/1) ... [2019-02-27 13:07:37,877 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 01:07:37" (1/1) ... [2019-02-27 13:07:37,883 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 01:07:37" (1/1) ... [2019-02-27 13:07:37,888 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 01:07:37" (1/1) ... [2019-02-27 13:07:37,889 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 01:07:37" (1/1) ... [2019-02-27 13:07:37,896 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-02-27 13:07:37,896 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-02-27 13:07:37,897 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-02-27 13:07:37,897 INFO L276 PluginConnector]: RCFGBuilder initialized [2019-02-27 13:07:37,901 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 01:07:37" (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 13:07:37,975 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-02-27 13:07:37,975 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-02-27 13:07:38,800 INFO L281 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-02-27 13:07:38,804 INFO L286 CfgBuilder]: Removed 17 assue(true) statements. [2019-02-27 13:07:38,805 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.02 01:07:38 BoogieIcfgContainer [2019-02-27 13:07:38,805 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-02-27 13:07:38,807 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-02-27 13:07:38,807 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-02-27 13:07:38,810 INFO L276 PluginConnector]: TraceAbstraction initialized [2019-02-27 13:07:38,811 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 01:07:37" (1/2) ... [2019-02-27 13:07:38,812 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3cc98d1e and model type speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.02 01:07:38, skipping insertion in model container [2019-02-27 13:07:38,812 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-7-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.02 01:07:38" (2/2) ... [2019-02-27 13:07:38,814 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-7-limited.bpl [2019-02-27 13:07:38,824 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2019-02-27 13:07:38,833 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 7 error locations. [2019-02-27 13:07:38,850 INFO L257 AbstractCegarLoop]: Starting to check reachability of 7 error locations. [2019-02-27 13:07:38,883 INFO L382 AbstractCegarLoop]: Interprodecural is true [2019-02-27 13:07:38,884 INFO L383 AbstractCegarLoop]: Hoare is true [2019-02-27 13:07:38,884 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2019-02-27 13:07:38,884 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-02-27 13:07:38,884 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-02-27 13:07:38,885 INFO L387 AbstractCegarLoop]: Difference is false [2019-02-27 13:07:38,885 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-02-27 13:07:38,885 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-02-27 13:07:38,899 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states. [2019-02-27 13:07:38,905 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2019-02-27 13:07:38,906 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:07:38,907 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2019-02-27 13:07:38,910 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:07:38,915 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:07:38,916 INFO L82 PathProgramCache]: Analyzing trace with hash 992, now seen corresponding path program 1 times [2019-02-27 13:07:38,918 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:07:38,962 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:38,962 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:07:38,962 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:38,962 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:07:39,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:39,197 INFO L273 TraceCheckUtils]: 0: Hoare triple {20#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {22#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:07:39,215 INFO L273 TraceCheckUtils]: 1: Hoare triple {22#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {21#false} is VALID [2019-02-27 13:07:39,218 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 13:07:39,220 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-27 13:07:39,221 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-27 13:07:39,221 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 13:07:39,227 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-02-27 13:07:39,229 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:07:39,233 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-27 13:07:39,265 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 13:07:39,266 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-27 13:07:39,288 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-27 13:07:39,289 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-27 13:07:39,291 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 3 states. [2019-02-27 13:07:39,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:39,587 INFO L93 Difference]: Finished difference Result 33 states and 45 transitions. [2019-02-27 13:07:39,587 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-27 13:07:39,587 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-02-27 13:07:39,587 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:07:39,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 13:07:39,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 45 transitions. [2019-02-27 13:07:39,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 13:07:39,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 45 transitions. [2019-02-27 13:07:39,597 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 45 transitions. [2019-02-27 13:07:39,766 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:07:39,778 INFO L225 Difference]: With dead ends: 33 [2019-02-27 13:07:39,778 INFO L226 Difference]: Without dead ends: 28 [2019-02-27 13:07:39,782 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 13:07:39,799 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2019-02-27 13:07:39,853 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 16. [2019-02-27 13:07:39,853 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:07:39,854 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand 16 states. [2019-02-27 13:07:39,854 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 16 states. [2019-02-27 13:07:39,854 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 16 states. [2019-02-27 13:07:39,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:39,859 INFO L93 Difference]: Finished difference Result 28 states and 40 transitions. [2019-02-27 13:07:39,859 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 40 transitions. [2019-02-27 13:07:39,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:07:39,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:07:39,860 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 28 states. [2019-02-27 13:07:39,860 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 28 states. [2019-02-27 13:07:39,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:39,864 INFO L93 Difference]: Finished difference Result 28 states and 40 transitions. [2019-02-27 13:07:39,864 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 40 transitions. [2019-02-27 13:07:39,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:07:39,866 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:07:39,867 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:07:39,867 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:07:39,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2019-02-27 13:07:39,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 29 transitions. [2019-02-27 13:07:39,874 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 29 transitions. Word has length 2 [2019-02-27 13:07:39,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:07:39,875 INFO L480 AbstractCegarLoop]: Abstraction has 16 states and 29 transitions. [2019-02-27 13:07:39,875 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-27 13:07:39,875 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 29 transitions. [2019-02-27 13:07:39,876 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-27 13:07:39,876 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:07:39,876 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-27 13:07:39,876 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:07:39,877 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:07:39,877 INFO L82 PathProgramCache]: Analyzing trace with hash 30816, now seen corresponding path program 1 times [2019-02-27 13:07:39,877 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:07:39,878 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:39,879 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:07:39,879 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:39,880 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:07:39,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:40,079 INFO L273 TraceCheckUtils]: 0: Hoare triple {134#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:40,081 INFO L273 TraceCheckUtils]: 1: Hoare triple {136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:07:40,098 INFO L273 TraceCheckUtils]: 2: Hoare triple {136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {135#false} is VALID [2019-02-27 13:07:40,099 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 13:07:40,099 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-27 13:07:40,099 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-27 13:07:40,099 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 13:07:40,101 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-27 13:07:40,101 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:07:40,101 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-27 13:07:40,121 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 13:07:40,121 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-27 13:07:40,121 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-27 13:07:40,122 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-27 13:07:40,122 INFO L87 Difference]: Start difference. First operand 16 states and 29 transitions. Second operand 3 states. [2019-02-27 13:07:40,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:40,618 INFO L93 Difference]: Finished difference Result 28 states and 40 transitions. [2019-02-27 13:07:40,618 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-27 13:07:40,618 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-27 13:07:40,618 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:07:40,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 13:07:40,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 40 transitions. [2019-02-27 13:07:40,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 13:07:40,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 40 transitions. [2019-02-27 13:07:40,622 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 40 transitions. [2019-02-27 13:07:40,711 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:07:40,713 INFO L225 Difference]: With dead ends: 28 [2019-02-27 13:07:40,713 INFO L226 Difference]: Without dead ends: 27 [2019-02-27 13:07:40,714 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 13:07:40,715 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2019-02-27 13:07:40,740 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 17. [2019-02-27 13:07:40,740 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:07:40,740 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 17 states. [2019-02-27 13:07:40,740 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 17 states. [2019-02-27 13:07:40,741 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 17 states. [2019-02-27 13:07:40,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:40,743 INFO L93 Difference]: Finished difference Result 27 states and 39 transitions. [2019-02-27 13:07:40,744 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 39 transitions. [2019-02-27 13:07:40,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:07:40,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:07:40,745 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 27 states. [2019-02-27 13:07:40,745 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 27 states. [2019-02-27 13:07:40,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:07:40,748 INFO L93 Difference]: Finished difference Result 27 states and 39 transitions. [2019-02-27 13:07:40,748 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 39 transitions. [2019-02-27 13:07:40,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:07:40,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:07:40,749 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:07:40,749 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:07:40,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2019-02-27 13:07:40,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 30 transitions. [2019-02-27 13:07:40,751 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 30 transitions. Word has length 3 [2019-02-27 13:07:40,751 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:07:40,751 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 30 transitions. [2019-02-27 13:07:40,751 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-27 13:07:40,752 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 30 transitions. [2019-02-27 13:07:40,752 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-27 13:07:40,752 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:07:40,752 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-27 13:07:40,753 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:07:40,753 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:07:40,753 INFO L82 PathProgramCache]: Analyzing trace with hash 30380, now seen corresponding path program 1 times [2019-02-27 13:07:40,753 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:07:40,754 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:40,754 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:07:40,755 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:07:40,755 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:07:40,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:41,121 WARN L181 SmtUtils]: Spent 135.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 13 [2019-02-27 13:07:41,135 INFO L273 TraceCheckUtils]: 0: Hoare triple {242#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {244#(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 13:07:41,136 INFO L273 TraceCheckUtils]: 1: Hoare triple {244#(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]; {245#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:07:41,137 INFO L273 TraceCheckUtils]: 2: Hoare triple {245#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {243#false} is VALID [2019-02-27 13:07:41,137 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:07:41,138 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:07:41,138 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:07:41,138 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-27 13:07:41,140 INFO L207 CegarAbsIntRunner]: [0], [18], [31] [2019-02-27 13:07:41,174 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:07:41,174 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:07:41,304 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:07:41,306 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 86 root evaluator evaluations with a maximum evaluation depth of 3. Performed 86 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:07:41,311 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:07:41,313 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:07:41,314 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:07:41,314 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 13:07:41,335 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:07:41,335 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:07:41,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:41,362 INFO L256 TraceCheckSpWp]: Trace formula consists of 29 conjuncts, 13 conjunts are in the unsatisfiable core [2019-02-27 13:07:41,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:07:41,384 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:07:41,733 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:41,735 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:41,743 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:41,745 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:41,749 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:41,766 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:41,814 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:41,823 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 4 [2019-02-27 13:07:41,830 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:41,837 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:41,839 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:41,907 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 24 treesize of output 27 [2019-02-27 13:07:41,922 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:41,924 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 27 treesize of output 33 [2019-02-27 13:07:42,048 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,051 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,053 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 29 treesize of output 43 [2019-02-27 13:07:42,101 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,109 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,110 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,113 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 31 treesize of output 57 [2019-02-27 13:07:42,160 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,162 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,163 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,164 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,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, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 75 [2019-02-27 13:07:42,242 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,250 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,261 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,265 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,266 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,268 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 97 [2019-02-27 13:07:42,392 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,394 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,396 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,397 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,399 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,400 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:42,404 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 21 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 120 [2019-02-27 13:07:42,422 INFO L301 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:42,537 INFO L301 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:42,583 INFO L301 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:42,615 INFO L301 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:42,637 INFO L301 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:42,665 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:42,684 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:07:42,743 INFO L301 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-02-27 13:07:42,744 INFO L208 ElimStorePlain]: Needed 11 recursive calls to eliminate 7 variables, input treesize:71, output treesize:54 [2019-02-27 13:07:43,087 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:43,087 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7, |v_#valid_9|]. (let ((.cse0 (store |v_#valid_9| ULTIMATE.start_main_p1 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select (store (store (store (store .cse0 ULTIMATE.start_main_p2 1) ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0) (= |#memory_int| (store (store (store (store (store (store (store |v_#memory_int_37| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) ULTIMATE.start_main_p7 0)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< 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:43,088 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-02-27 13:07:43,287 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,289 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,291 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,292 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,298 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,300 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,301 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,302 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,302 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,304 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,306 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,308 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,310 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,311 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,313 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,315 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,316 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,318 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,320 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,321 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,323 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,325 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:07:43,329 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 22 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 120 [2019-02-27 13:07:43,337 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:07:43,525 INFO L301 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-1 vars, End of recursive call: 6 dim-0 vars, and 1 xjuncts. [2019-02-27 13:07:43,526 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 7 variables, input treesize:64, output treesize:54 [2019-02-27 13:07:45,621 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:07:45,622 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p7, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6]. (let ((.cse0 (select |v_#memory_int_38| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_38| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_38| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_38| ULTIMATE.start_main_p6) 0) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 .cse0) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p1)))) [2019-02-27 13:07:45,622 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-02-27 13:07:46,844 INFO L273 TraceCheckUtils]: 0: Hoare triple {242#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {249#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))) (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 13:07:47,121 INFO L273 TraceCheckUtils]: 1: Hoare triple {249#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))) (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]; {253#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 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)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))))} is VALID [2019-02-27 13:07:47,123 INFO L273 TraceCheckUtils]: 2: Hoare triple {253#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 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)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))))} assume !(#memory_int[main_p1] >= 0); {243#false} is VALID [2019-02-27 13:07:47,123 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:07:47,124 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:07:47,201 INFO L273 TraceCheckUtils]: 2: Hoare triple {257#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {243#false} is VALID [2019-02-27 13:07:47,203 INFO L273 TraceCheckUtils]: 1: Hoare triple {261#(<= 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]; {257#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:07:47,205 INFO L273 TraceCheckUtils]: 0: Hoare triple {242#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {261#(<= 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:07:47,206 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:07:47,226 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:07:47,226 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-27 13:07:47,227 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:07:47,227 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-27 13:07:47,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:07:47,227 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-27 13:07:47,517 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:07:47,518 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-27 13:07:47,518 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-27 13:07:47,518 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:07:47,518 INFO L87 Difference]: Start difference. First operand 17 states and 30 transitions. Second operand 6 states. [2019-02-27 13:07:51,140 WARN L181 SmtUtils]: Spent 1.29 s on a formula simplification. DAG size of input: 41 DAG size of output: 39 [2019-02-27 13:08:26,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:26,833 INFO L93 Difference]: Finished difference Result 54 states and 79 transitions. [2019-02-27 13:08:26,833 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-27 13:08:26,833 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-27 13:08:26,834 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:08:26,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:08:26,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 79 transitions. [2019-02-27 13:08:26,836 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:08:26,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 79 transitions. [2019-02-27 13:08:26,839 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 79 transitions. [2019-02-27 13:08:46,795 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 74 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2019-02-27 13:08:46,798 INFO L225 Difference]: With dead ends: 54 [2019-02-27 13:08:46,799 INFO L226 Difference]: Without dead ends: 52 [2019-02-27 13:08:46,799 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-27 13:08:46,799 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2019-02-27 13:08:46,817 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 20. [2019-02-27 13:08:46,818 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:08:46,818 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 20 states. [2019-02-27 13:08:46,818 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 20 states. [2019-02-27 13:08:46,818 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 20 states. [2019-02-27 13:08:46,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:46,823 INFO L93 Difference]: Finished difference Result 52 states and 76 transitions. [2019-02-27 13:08:46,823 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 76 transitions. [2019-02-27 13:08:46,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:08:46,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:08:46,824 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 52 states. [2019-02-27 13:08:46,824 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 52 states. [2019-02-27 13:08:46,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:46,828 INFO L93 Difference]: Finished difference Result 52 states and 76 transitions. [2019-02-27 13:08:46,828 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 76 transitions. [2019-02-27 13:08:46,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:08:46,829 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:08:46,829 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:08:46,830 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:08:46,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2019-02-27 13:08:46,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 41 transitions. [2019-02-27 13:08:46,831 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 41 transitions. Word has length 3 [2019-02-27 13:08:46,832 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:08:46,832 INFO L480 AbstractCegarLoop]: Abstraction has 20 states and 41 transitions. [2019-02-27 13:08:46,832 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-27 13:08:46,832 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 41 transitions. [2019-02-27 13:08:46,832 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-27 13:08:46,832 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:08:46,833 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-27 13:08:46,833 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:08:46,833 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:08:46,833 INFO L82 PathProgramCache]: Analyzing trace with hash 30008, now seen corresponding path program 1 times [2019-02-27 13:08:46,833 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:08:46,834 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:08:46,835 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:08:46,835 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:08:46,835 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:08:46,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:08:46,934 INFO L273 TraceCheckUtils]: 0: Hoare triple {451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {453#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:08:46,950 INFO L273 TraceCheckUtils]: 1: Hoare triple {453#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {454#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:08:46,960 INFO L273 TraceCheckUtils]: 2: Hoare triple {454#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {452#false} is VALID [2019-02-27 13:08:46,960 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:08:46,961 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:08:46,961 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:08:46,961 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-27 13:08:46,961 INFO L207 CegarAbsIntRunner]: [0], [6], [31] [2019-02-27 13:08:46,962 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:08:46,962 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:08:46,979 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:08:46,979 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 86 root evaluator evaluations with a maximum evaluation depth of 3. Performed 86 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:08:46,979 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:08:46,980 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:08:46,980 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:08:46,980 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 13:08:46,988 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:08:46,988 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:08:46,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:08:46,999 INFO L256 TraceCheckSpWp]: Trace formula consists of 29 conjuncts, 13 conjunts are in the unsatisfiable core [2019-02-27 13:08:47,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:08:47,003 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:08:47,047 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 24 treesize of output 27 [2019-02-27 13:08:47,067 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,068 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 27 treesize of output 33 [2019-02-27 13:08:47,090 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,091 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,093 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 29 treesize of output 43 [2019-02-27 13:08:47,145 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,146 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,149 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,151 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 31 treesize of output 57 [2019-02-27 13:08:47,183 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,185 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,187 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,188 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,190 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 75 [2019-02-27 13:08:47,319 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,321 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,324 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,325 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,326 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,329 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 97 [2019-02-27 13:08:47,490 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,491 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,492 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,494 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,496 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,497 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,501 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 21 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 120 [2019-02-27 13:08:47,527 INFO L301 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:47,633 INFO L301 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:47,670 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:47,713 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:47,737 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:47,808 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:47,860 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:47,908 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,910 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,911 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,913 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,913 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,919 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,929 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:47,930 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 4 [2019-02-27 13:08:47,937 INFO L301 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:47,939 INFO L301 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:47,941 INFO L301 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:08:47,981 INFO L301 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 2 dim-1 vars, End of recursive call: 6 dim-0 vars, and 1 xjuncts. [2019-02-27 13:08:47,982 INFO L208 ElimStorePlain]: Needed 11 recursive calls to eliminate 8 variables, input treesize:71, output treesize:54 [2019-02-27 13:08:50,010 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:50,011 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_40|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7, |v_#valid_10|]. (let ((.cse0 (store |v_#valid_10| ULTIMATE.start_main_p1 1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select (store (store (store (store .cse0 ULTIMATE.start_main_p2 1) ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (store (store (store (store (store (store (store |v_#memory_int_40| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) ULTIMATE.start_main_p7 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< 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:50,011 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-02-27 13:08:52,192 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,193 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,194 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,195 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,196 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,197 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,198 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,200 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,201 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,202 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,204 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,205 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,206 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,208 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,209 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,211 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,212 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,213 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,215 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,216 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,217 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,219 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:08:52,221 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 22 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 120 [2019-02-27 13:08:52,226 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:08:52,325 INFO L301 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-1 vars, End of recursive call: 6 dim-0 vars, and 1 xjuncts. [2019-02-27 13:08:52,325 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 7 variables, input treesize:64, output treesize:54 [2019-02-27 13:08:54,338 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:08:54,338 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p7, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6]. (let ((.cse0 (select |v_#memory_int_41| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_41| ULTIMATE.start_main_p7) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_41| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_41| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (store |v_#memory_int_41| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_41| ULTIMATE.start_main_p5) 0) (= .cse0 0) (= (select |v_#memory_int_41| ULTIMATE.start_main_p6) 0) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |v_#memory_int_41| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:08:54,338 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-02-27 13:08:57,962 INFO L273 TraceCheckUtils]: 0: Hoare triple {451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {458#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 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)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6)))))} is VALID [2019-02-27 13:08:59,439 INFO L273 TraceCheckUtils]: 1: Hoare triple {458#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 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)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6)))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {462#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 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)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6)))))} is VALID [2019-02-27 13:08:59,441 INFO L273 TraceCheckUtils]: 2: Hoare triple {462#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 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)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6)))))} assume !(#memory_int[main_p1] >= 0); {452#false} is VALID [2019-02-27 13:08:59,441 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:08:59,441 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:08:59,502 INFO L273 TraceCheckUtils]: 2: Hoare triple {466#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {452#false} is VALID [2019-02-27 13:08:59,503 INFO L273 TraceCheckUtils]: 1: Hoare triple {470#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {466#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:08:59,507 INFO L273 TraceCheckUtils]: 0: Hoare triple {451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {470#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-27 13:08:59,507 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:08:59,525 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-27 13:08:59,525 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2019-02-27 13:08:59,526 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 13:08:59,526 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-02-27 13:08:59,526 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:08:59,526 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-27 13:08:59,530 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 13:08:59,530 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-27 13:08:59,530 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-27 13:08:59,531 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:08:59,531 INFO L87 Difference]: Start difference. First operand 20 states and 41 transitions. Second operand 4 states. [2019-02-27 13:08:59,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:59,762 INFO L93 Difference]: Finished difference Result 25 states and 67 transitions. [2019-02-27 13:08:59,762 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-02-27 13:08:59,762 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-02-27 13:08:59,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:08:59,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 13:08:59,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 39 transitions. [2019-02-27 13:08:59,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 13:08:59,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 39 transitions. [2019-02-27 13:08:59,765 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 39 transitions. [2019-02-27 13:08:59,856 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:08:59,857 INFO L225 Difference]: With dead ends: 25 [2019-02-27 13:08:59,857 INFO L226 Difference]: Without dead ends: 24 [2019-02-27 13:08:59,858 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 4.3s TimeCoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:08:59,858 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2019-02-27 13:08:59,888 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 23. [2019-02-27 13:08:59,889 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:08:59,889 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 23 states. [2019-02-27 13:08:59,889 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 23 states. [2019-02-27 13:08:59,889 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 23 states. [2019-02-27 13:08:59,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:59,890 INFO L93 Difference]: Finished difference Result 24 states and 66 transitions. [2019-02-27 13:08:59,891 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 66 transitions. [2019-02-27 13:08:59,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:08:59,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:08:59,891 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 24 states. [2019-02-27 13:08:59,891 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 24 states. [2019-02-27 13:08:59,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:59,894 INFO L93 Difference]: Finished difference Result 24 states and 66 transitions. [2019-02-27 13:08:59,894 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 66 transitions. [2019-02-27 13:08:59,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:08:59,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:08:59,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:08:59,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:08:59,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2019-02-27 13:08:59,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 66 transitions. [2019-02-27 13:08:59,897 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 66 transitions. Word has length 3 [2019-02-27 13:08:59,897 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:08:59,897 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 66 transitions. [2019-02-27 13:08:59,897 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-27 13:08:59,897 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 66 transitions. [2019-02-27 13:08:59,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-27 13:08:59,898 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:08:59,898 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-27 13:08:59,898 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:08:59,898 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:08:59,899 INFO L82 PathProgramCache]: Analyzing trace with hash 30132, now seen corresponding path program 1 times [2019-02-27 13:08:59,899 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:08:59,900 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:08:59,900 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:08:59,900 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:08:59,900 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:08:59,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:09:00,009 INFO L273 TraceCheckUtils]: 0: Hoare triple {581#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {583#(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:09:00,010 INFO L273 TraceCheckUtils]: 1: Hoare triple {583#(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]; {584#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:09:00,011 INFO L273 TraceCheckUtils]: 2: Hoare triple {584#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {582#false} is VALID [2019-02-27 13:09:00,012 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:09:00,012 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:09:00,012 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:09:00,012 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-27 13:09:00,012 INFO L207 CegarAbsIntRunner]: [0], [10], [31] [2019-02-27 13:09:00,013 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:09:00,014 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:09:00,045 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:09:00,045 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 86 root evaluator evaluations with a maximum evaluation depth of 3. Performed 86 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:09:00,045 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:09:00,045 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:09:00,045 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:09:00,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 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 13:09:00,064 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:09:00,064 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:09:00,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:09:00,084 WARN L254 TraceCheckSpWp]: Trace formula consists of 29 conjuncts, 15 conjunts are in the unsatisfiable core [2019-02-27 13:09:00,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:09:00,103 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:09:00,243 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 24 treesize of output 27 [2019-02-27 13:09:00,252 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,253 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 27 treesize of output 33 [2019-02-27 13:09:00,266 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,268 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,269 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 29 treesize of output 43 [2019-02-27 13:09:00,291 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,293 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,295 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,296 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 31 treesize of output 57 [2019-02-27 13:09:00,317 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,319 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,320 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,322 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,324 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 75 [2019-02-27 13:09:00,436 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,438 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,440 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,445 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,447 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,449 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 97 [2019-02-27 13:09:00,484 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,486 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,488 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,490 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,491 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,493 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,495 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 21 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 120 [2019-02-27 13:09:00,501 INFO L301 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:00,565 INFO L301 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:00,607 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:00,638 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:00,660 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:00,681 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:00,701 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:00,765 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,766 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,767 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,768 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,773 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,779 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,781 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,786 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,796 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,798 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,799 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:00,800 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2019-02-27 13:09:00,808 INFO L301 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:00,810 INFO L301 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:00,812 INFO L301 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:00,814 INFO L301 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:09:00,906 INFO L301 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-02-27 13:09:00,907 INFO L208 ElimStorePlain]: Needed 12 recursive calls to eliminate 7 variables, input treesize:82, output treesize:54 [2019-02-27 13:09:01,667 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:01,668 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_43|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7, |v_#valid_11|]. (let ((.cse0 (store |v_#valid_11| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store (store (store |v_#memory_int_43| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) ULTIMATE.start_main_p7 0) |#memory_int|) (= 0 (select (store (store (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< 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:01,668 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-02-27 13:09:02,110 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,112 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,113 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,114 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,116 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,117 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,119 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,121 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,122 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,124 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,126 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,127 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,129 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,131 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,132 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,134 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,136 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,138 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,139 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,141 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,143 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,144 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:09:02,147 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 22 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 120 [2019-02-27 13:09:02,152 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:09:02,305 INFO L301 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-1 vars, End of recursive call: 6 dim-0 vars, and 1 xjuncts. [2019-02-27 13:09:02,306 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 7 variables, input treesize:64, output treesize:54 [2019-02-27 13:09:04,396 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:09:04,397 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_44|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (let ((.cse0 (select |v_#memory_int_44| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_44| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (= (select |v_#memory_int_44| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |v_#memory_int_44| ULTIMATE.start_main_p6) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_44| ULTIMATE.start_main_p7) 0) (= (select |v_#memory_int_44| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |v_#memory_int_44| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_44| ULTIMATE.start_main_p3)))) [2019-02-27 13:09:04,397 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-02-27 13:09:07,857 INFO L273 TraceCheckUtils]: 0: Hoare triple {581#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {588#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-27 13:09:08,151 INFO L273 TraceCheckUtils]: 1: Hoare triple {588#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6)))) (= 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]; {592#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 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)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-27 13:09:08,153 INFO L273 TraceCheckUtils]: 2: Hoare triple {592#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 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)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {582#false} is VALID [2019-02-27 13:09:08,153 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:09:08,153 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:09:08,186 INFO L273 TraceCheckUtils]: 2: Hoare triple {596#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {582#false} is VALID [2019-02-27 13:09:08,188 INFO L273 TraceCheckUtils]: 1: Hoare triple {600#(<= 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]; {596#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:09:08,191 INFO L273 TraceCheckUtils]: 0: Hoare triple {581#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {600#(<= 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:09:08,192 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:09:08,211 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:09:08,211 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-27 13:09:08,212 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:09:08,212 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-27 13:09:08,212 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:09:08,212 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-27 13:09:08,696 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:09:08,696 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-27 13:09:08,696 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-27 13:09:08,696 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:09:08,697 INFO L87 Difference]: Start difference. First operand 23 states and 66 transitions. Second operand 6 states. [2019-02-27 13:09:12,425 WARN L181 SmtUtils]: Spent 1.28 s on a formula simplification. DAG size of input: 41 DAG size of output: 39 [2019-02-27 13:09:48,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:48,535 INFO L93 Difference]: Finished difference Result 57 states and 111 transitions. [2019-02-27 13:09:48,535 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-27 13:09:48,535 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-27 13:09:48,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:09:48,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:09:48,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2019-02-27 13:09:48,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:09:48,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2019-02-27 13:09:48,538 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2019-02-27 13:10:11,489 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 73 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2019-02-27 13:10:11,492 INFO L225 Difference]: With dead ends: 57 [2019-02-27 13:10:11,493 INFO L226 Difference]: Without dead ends: 56 [2019-02-27 13:10:11,493 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 5.0s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-27 13:10:11,494 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2019-02-27 13:10:11,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 25. [2019-02-27 13:10:11,565 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:10:11,565 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 25 states. [2019-02-27 13:10:11,565 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 25 states. [2019-02-27 13:10:11,565 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 25 states. [2019-02-27 13:10:11,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:11,568 INFO L93 Difference]: Finished difference Result 56 states and 109 transitions. [2019-02-27 13:10:11,568 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 109 transitions. [2019-02-27 13:10:11,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:10:11,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:10:11,569 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 56 states. [2019-02-27 13:10:11,569 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 56 states. [2019-02-27 13:10:11,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:11,572 INFO L93 Difference]: Finished difference Result 56 states and 109 transitions. [2019-02-27 13:10:11,572 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 109 transitions. [2019-02-27 13:10:11,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:10:11,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:10:11,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:10:11,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:10:11,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2019-02-27 13:10:11,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 82 transitions. [2019-02-27 13:10:11,575 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 82 transitions. Word has length 3 [2019-02-27 13:10:11,575 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:10:11,575 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 82 transitions. [2019-02-27 13:10:11,575 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-27 13:10:11,576 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 82 transitions. [2019-02-27 13:10:11,576 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-27 13:10:11,576 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:10:11,576 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-27 13:10:11,576 INFO L423 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:10:11,577 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:10:11,577 INFO L82 PathProgramCache]: Analyzing trace with hash 30628, now seen corresponding path program 1 times [2019-02-27 13:10:11,577 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:10:11,578 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:10:11,578 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:10:11,578 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:10:11,578 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:10:11,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:11,696 INFO L273 TraceCheckUtils]: 0: Hoare triple {815#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {817#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2019-02-27 13:10:11,711 INFO L273 TraceCheckUtils]: 1: Hoare triple {817#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {818#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:10:11,716 INFO L273 TraceCheckUtils]: 2: Hoare triple {818#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {816#false} is VALID [2019-02-27 13:10:11,716 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:10:11,716 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:10:11,716 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:10:11,716 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-27 13:10:11,717 INFO L207 CegarAbsIntRunner]: [0], [26], [31] [2019-02-27 13:10:11,718 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:10:11,718 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:10:11,733 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:10:11,733 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 86 root evaluator evaluations with a maximum evaluation depth of 3. Performed 86 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:10:11,733 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:10:11,733 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:10:11,734 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:10:11,734 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 13:10:11,743 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:10:11,744 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:10:11,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:11,758 WARN L254 TraceCheckSpWp]: Trace formula consists of 29 conjuncts, 15 conjunts are in the unsatisfiable core [2019-02-27 13:10:11,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:10:11,776 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:10:11,888 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 24 treesize of output 27 [2019-02-27 13:10:11,897 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,898 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 27 treesize of output 33 [2019-02-27 13:10:11,911 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,913 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,914 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 29 treesize of output 43 [2019-02-27 13:10:11,934 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,936 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,937 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,938 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 31 treesize of output 57 [2019-02-27 13:10:11,959 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,961 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,963 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,965 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,967 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 75 [2019-02-27 13:10:11,989 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,990 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,991 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,992 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,993 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:11,995 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 97 [2019-02-27 13:10:12,049 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,050 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,051 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,052 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,053 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,054 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,057 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 21 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 120 [2019-02-27 13:10:12,065 INFO L301 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:12,125 INFO L301 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:12,166 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:12,194 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:12,217 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:12,237 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:12,257 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:12,307 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,308 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,309 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,310 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,312 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,317 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,323 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,324 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,349 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,350 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,351 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,352 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2019-02-27 13:10:12,354 INFO L301 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:12,355 INFO L301 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:12,357 INFO L301 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:12,359 INFO L301 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:10:12,393 INFO L301 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-02-27 13:10:12,394 INFO L208 ElimStorePlain]: Needed 12 recursive calls to eliminate 7 variables, input treesize:82, output treesize:54 [2019-02-27 13:10:12,761 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:12,761 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p7, |v_#valid_12|]. (let ((.cse1 (store |v_#valid_12| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select (store (store (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0) (= 0 (select .cse0 ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store (store (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_p6 0) ULTIMATE.start_main_p7 0) |#memory_int|)))) [2019-02-27 13:10:12,761 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-02-27 13:10:12,990 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,992 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,993 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,994 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,995 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,996 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,998 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:12,999 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,000 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,001 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,003 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,004 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,005 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,006 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,007 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,008 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,010 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,011 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,012 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,013 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,014 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,016 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:10:13,018 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 22 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 120 [2019-02-27 13:10:13,021 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:10:13,112 INFO L301 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-1 vars, End of recursive call: 6 dim-0 vars, and 1 xjuncts. [2019-02-27 13:10:13,112 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 7 variables, input treesize:64, output treesize:54 [2019-02-27 13:10:15,129 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:10:15,130 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p7, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_47| ULTIMATE.start_main_p6))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_47| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (store |v_#memory_int_47| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_47| ULTIMATE.start_main_p7) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_47| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_47| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_47| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= .cse0 0) (= (select |v_#memory_int_47| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-27 13:10:15,130 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-27 13:10:18,394 INFO L273 TraceCheckUtils]: 0: Hoare triple {815#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {822#(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)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6)) (exists ((ULTIMATE.start_main_p7 Int)) (and (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)))))} is VALID [2019-02-27 13:10:18,705 INFO L273 TraceCheckUtils]: 1: Hoare triple {822#(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)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6)) (exists ((ULTIMATE.start_main_p7 Int)) (and (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)))))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {826#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 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)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6) 1)))))} is VALID [2019-02-27 13:10:18,706 INFO L273 TraceCheckUtils]: 2: Hoare triple {826#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 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)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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_p6) 1)))))} assume !(#memory_int[main_p1] >= 0); {816#false} is VALID [2019-02-27 13:10:18,706 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:10:18,706 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:10:18,726 INFO L273 TraceCheckUtils]: 2: Hoare triple {830#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {816#false} is VALID [2019-02-27 13:10:18,728 INFO L273 TraceCheckUtils]: 1: Hoare triple {834#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {830#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:10:18,731 INFO L273 TraceCheckUtils]: 0: Hoare triple {815#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {834#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:10:18,731 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:10:18,749 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:10:18,749 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-27 13:10:18,750 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:10:18,750 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-27 13:10:18,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:10:18,750 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-27 13:10:19,077 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:10:19,077 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-27 13:10:19,077 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-27 13:10:19,077 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:10:19,078 INFO L87 Difference]: Start difference. First operand 25 states and 82 transitions. Second operand 6 states. [2019-02-27 13:10:22,869 WARN L181 SmtUtils]: Spent 1.27 s on a formula simplification. DAG size of input: 41 DAG size of output: 36 [2019-02-27 13:10:56,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:10:56,239 INFO L93 Difference]: Finished difference Result 59 states and 127 transitions. [2019-02-27 13:10:56,240 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-27 13:10:56,240 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-27 13:10:56,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:10:56,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:10:56,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2019-02-27 13:10:56,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 13:10:56,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2019-02-27 13:10:56,242 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2019-02-27 13:11:16,808 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 73 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2019-02-27 13:11:16,810 INFO L225 Difference]: With dead ends: 59 [2019-02-27 13:11:16,811 INFO L226 Difference]: Without dead ends: 57 [2019-02-27 13:11:16,811 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 4.7s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-27 13:11:16,811 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2019-02-27 13:11:16,898 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 29. [2019-02-27 13:11:16,899 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:11:16,899 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 29 states. [2019-02-27 13:11:16,899 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 29 states. [2019-02-27 13:11:16,899 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 29 states. [2019-02-27 13:11:16,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:16,903 INFO L93 Difference]: Finished difference Result 57 states and 124 transitions. [2019-02-27 13:11:16,904 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 124 transitions. [2019-02-27 13:11:16,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:16,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:16,904 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 57 states. [2019-02-27 13:11:16,905 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 57 states. [2019-02-27 13:11:16,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:16,910 INFO L93 Difference]: Finished difference Result 57 states and 124 transitions. [2019-02-27 13:11:16,910 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 124 transitions. [2019-02-27 13:11:16,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:16,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:16,914 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:11:16,914 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:11:16,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-02-27 13:11:16,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 101 transitions. [2019-02-27 13:11:16,918 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 101 transitions. Word has length 3 [2019-02-27 13:11:16,918 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:11:16,919 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 101 transitions. [2019-02-27 13:11:16,919 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-27 13:11:16,919 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 101 transitions. [2019-02-27 13:11:16,919 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 13:11:16,919 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:11:16,920 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 13:11:16,920 INFO L423 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:11:16,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:11:16,920 INFO L82 PathProgramCache]: Analyzing trace with hash 955362, now seen corresponding path program 1 times [2019-02-27 13:11:16,921 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:11:16,921 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:16,921 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:11:16,922 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:16,922 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:11:16,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:16,976 INFO L273 TraceCheckUtils]: 0: Hoare triple {1061#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {1063#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:11:16,977 INFO L273 TraceCheckUtils]: 1: Hoare triple {1063#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {1063#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:11:16,978 INFO L273 TraceCheckUtils]: 2: Hoare triple {1063#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {1063#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-27 13:11:16,979 INFO L273 TraceCheckUtils]: 3: Hoare triple {1063#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {1062#false} is VALID [2019-02-27 13:11:16,979 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 13:11:16,979 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-27 13:11:16,979 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-27 13:11:16,979 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 13:11:16,980 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2019-02-27 13:11:16,980 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:11:16,980 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-27 13:11:16,987 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 13:11:16,987 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-27 13:11:16,987 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-27 13:11:16,987 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-27 13:11:16,988 INFO L87 Difference]: Start difference. First operand 29 states and 101 transitions. Second operand 3 states. [2019-02-27 13:11:17,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:17,139 INFO L93 Difference]: Finished difference Result 33 states and 102 transitions. [2019-02-27 13:11:17,139 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-27 13:11:17,139 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2019-02-27 13:11:17,139 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:11:17,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 13:11:17,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 37 transitions. [2019-02-27 13:11:17,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-27 13:11:17,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 37 transitions. [2019-02-27 13:11:17,141 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 37 transitions. [2019-02-27 13:11:17,172 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:11:17,173 INFO L225 Difference]: With dead ends: 33 [2019-02-27 13:11:17,173 INFO L226 Difference]: Without dead ends: 32 [2019-02-27 13:11:17,174 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 13:11:17,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2019-02-27 13:11:17,262 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 29. [2019-02-27 13:11:17,262 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:11:17,262 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand 29 states. [2019-02-27 13:11:17,262 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 29 states. [2019-02-27 13:11:17,262 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 29 states. [2019-02-27 13:11:17,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:17,266 INFO L93 Difference]: Finished difference Result 32 states and 101 transitions. [2019-02-27 13:11:17,266 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 101 transitions. [2019-02-27 13:11:17,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:17,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:17,266 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 32 states. [2019-02-27 13:11:17,266 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 32 states. [2019-02-27 13:11:17,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:17,268 INFO L93 Difference]: Finished difference Result 32 states and 101 transitions. [2019-02-27 13:11:17,268 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 101 transitions. [2019-02-27 13:11:17,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:17,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:17,269 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:11:17,269 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:11:17,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-02-27 13:11:17,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 100 transitions. [2019-02-27 13:11:17,271 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 100 transitions. Word has length 4 [2019-02-27 13:11:17,271 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:11:17,271 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 100 transitions. [2019-02-27 13:11:17,271 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-27 13:11:17,271 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 100 transitions. [2019-02-27 13:11:17,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 13:11:17,272 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:11:17,272 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 13:11:17,272 INFO L423 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:11:17,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:11:17,273 INFO L82 PathProgramCache]: Analyzing trace with hash 941844, now seen corresponding path program 1 times [2019-02-27 13:11:17,273 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:11:17,273 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:17,274 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:11:17,274 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:17,274 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:11:17,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:17,358 INFO L273 TraceCheckUtils]: 0: Hoare triple {1212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {1214#(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 13:11:17,359 INFO L273 TraceCheckUtils]: 1: Hoare triple {1214#(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]; {1215#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:11:17,360 INFO L273 TraceCheckUtils]: 2: Hoare triple {1215#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1215#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:11:17,360 INFO L273 TraceCheckUtils]: 3: Hoare triple {1215#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1213#false} is VALID [2019-02-27 13:11:17,361 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:11:17,361 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:11:17,361 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:11:17,361 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 13:11:17,361 INFO L207 CegarAbsIntRunner]: [0], [18], [32], [33] [2019-02-27 13:11:17,362 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:11:17,362 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:11:17,379 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:11:17,379 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 88 root evaluator evaluations with a maximum evaluation depth of 3. Performed 88 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:11:17,379 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:11:17,379 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:11:17,379 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:11:17,380 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 13:11:17,388 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:11:17,388 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:11:17,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:17,398 INFO L256 TraceCheckSpWp]: Trace formula consists of 30 conjuncts, 10 conjunts are in the unsatisfiable core [2019-02-27 13:11:17,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:17,401 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:11:17,427 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,428 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,429 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,431 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,438 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 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 5 treesize of output 1 [2019-02-27 13:11:17,439 INFO L301 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,441 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,461 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 27 [2019-02-27 13:11:17,471 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 27 treesize of output 29 [2019-02-27 13:11:17,487 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,488 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 35 [2019-02-27 13:11:17,503 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,504 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,505 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2019-02-27 13:11:17,520 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,525 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 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2019-02-27 13:11:17,552 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,554 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,558 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,559 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,560 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 81 [2019-02-27 13:11:17,604 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,606 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,607 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,612 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,613 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:17,615 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 100 [2019-02-27 13:11:17,618 INFO L301 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,663 INFO L301 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,689 INFO L301 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,707 INFO L301 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,724 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:17,740 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,753 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,787 INFO L301 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-02-27 13:11:17,788 INFO L208 ElimStorePlain]: Needed 10 recursive calls to eliminate 7 variables, input treesize:60, output treesize:55 [2019-02-27 13:11:17,974 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:17,975 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7, |v_#valid_13|]. (and (= 0 (select (store (store (store (store (store |v_#valid_13| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1) ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store (store (store (store (store (store (store |v_#memory_int_49| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) ULTIMATE.start_main_p7 0) |#memory_int|)) [2019-02-27 13:11:17,975 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-02-27 13:11:18,102 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,103 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,104 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,107 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,108 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,109 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,111 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,118 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,119 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,120 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,121 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,122 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,125 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,127 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,132 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,134 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:18,143 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 17 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 46 treesize of output 104 [2019-02-27 13:11:18,148 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2019-02-27 13:11:18,320 INFO L301 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-1 vars, End of recursive call: 11 dim-0 vars, and 2 xjuncts. [2019-02-27 13:11:18,321 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 7 variables, input treesize:65, output treesize:104 [2019-02-27 13:11:20,658 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:20,658 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (let ((.cse0 (select |v_#memory_int_50| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= |#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_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |v_#memory_int_50| ULTIMATE.start_main_p6) 0) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-27 13:11:20,658 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_5, ULTIMATE.start_main_p4, v_prenex_4, v_prenex_2, v_prenex_1, v_prenex_3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3]. (let ((.cse0 (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (< v_prenex_5 ULTIMATE.start_main_p4) (not (= v_prenex_4 v_prenex_2)) .cse0 (< v_prenex_1 v_prenex_2) (= (select |#memory_int| v_prenex_5) 0) (< ULTIMATE.start_main_p2 v_prenex_5) (= 0 (select |#memory_int| v_prenex_1)) (< v_prenex_2 v_prenex_3) (= (select |#memory_int| v_prenex_4) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| v_prenex_3)) (< ULTIMATE.start_main_p4 v_prenex_1) (= 0 (select |#memory_int| v_prenex_2))) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p1) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p1) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) .cse0 (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))))) [2019-02-27 13:11:26,111 WARN L181 SmtUtils]: Spent 2.27 s on a formula simplification. DAG size of input: 60 DAG size of output: 35 [2019-02-27 13:11:26,240 INFO L273 TraceCheckUtils]: 0: Hoare triple {1212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {1219#(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) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:11:26,327 INFO L273 TraceCheckUtils]: 1: Hoare triple {1219#(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) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))) (= 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]; {1223#(and (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_4 Int) (v_prenex_5 Int) (v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_4 v_prenex_2)) (< v_prenex_2 v_prenex_3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 v_prenex_1) (< v_prenex_1 v_prenex_2) (= (select |#memory_int| v_prenex_4) 0) (= 0 (select |#memory_int| v_prenex_2)) (< v_prenex_5 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| v_prenex_1)) (= 0 (select |#memory_int| v_prenex_3)) (< ULTIMATE.start_main_p2 v_prenex_5) (= (select |#memory_int| v_prenex_5) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:11:26,328 INFO L273 TraceCheckUtils]: 2: Hoare triple {1223#(and (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_4 Int) (v_prenex_5 Int) (v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_4 v_prenex_2)) (< v_prenex_2 v_prenex_3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 v_prenex_1) (< v_prenex_1 v_prenex_2) (= (select |#memory_int| v_prenex_4) 0) (= 0 (select |#memory_int| v_prenex_2)) (< v_prenex_5 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| v_prenex_1)) (= 0 (select |#memory_int| v_prenex_3)) (< ULTIMATE.start_main_p2 v_prenex_5) (= (select |#memory_int| v_prenex_5) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {1223#(and (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_4 Int) (v_prenex_5 Int) (v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_4 v_prenex_2)) (< v_prenex_2 v_prenex_3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 v_prenex_1) (< v_prenex_1 v_prenex_2) (= (select |#memory_int| v_prenex_4) 0) (= 0 (select |#memory_int| v_prenex_2)) (< v_prenex_5 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| v_prenex_1)) (= 0 (select |#memory_int| v_prenex_3)) (< ULTIMATE.start_main_p2 v_prenex_5) (= (select |#memory_int| v_prenex_5) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-27 13:11:26,332 INFO L273 TraceCheckUtils]: 3: Hoare triple {1223#(and (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_4 Int) (v_prenex_5 Int) (v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_4 v_prenex_2)) (< v_prenex_2 v_prenex_3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 v_prenex_1) (< v_prenex_1 v_prenex_2) (= (select |#memory_int| v_prenex_4) 0) (= 0 (select |#memory_int| v_prenex_2)) (< v_prenex_5 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| v_prenex_1)) (= 0 (select |#memory_int| v_prenex_3)) (< ULTIMATE.start_main_p2 v_prenex_5) (= (select |#memory_int| v_prenex_5) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {1213#false} is VALID [2019-02-27 13:11:26,333 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:11:26,333 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:11:26,355 INFO L273 TraceCheckUtils]: 3: Hoare triple {1230#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1213#false} is VALID [2019-02-27 13:11:26,356 INFO L273 TraceCheckUtils]: 2: Hoare triple {1230#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1230#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:11:26,356 INFO L273 TraceCheckUtils]: 1: Hoare triple {1237#(<= (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]; {1230#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-27 13:11:26,358 INFO L273 TraceCheckUtils]: 0: Hoare triple {1212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {1237#(<= (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 13:11:26,358 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:11:26,377 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-27 13:11:26,377 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2019-02-27 13:11:26,377 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 13:11:26,377 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-02-27 13:11:26,378 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:11:26,378 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-27 13:11:26,383 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 13:11:26,383 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-27 13:11:26,383 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-27 13:11:26,383 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:11:26,384 INFO L87 Difference]: Start difference. First operand 29 states and 100 transitions. Second operand 4 states. [2019-02-27 13:11:29,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:29,201 INFO L93 Difference]: Finished difference Result 33 states and 111 transitions. [2019-02-27 13:11:29,202 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-27 13:11:29,202 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-02-27 13:11:29,202 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:11:29,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 13:11:29,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 32 transitions. [2019-02-27 13:11:29,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 13:11:29,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 32 transitions. [2019-02-27 13:11:29,204 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 32 transitions. [2019-02-27 13:11:29,240 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-27 13:11:29,241 INFO L225 Difference]: With dead ends: 33 [2019-02-27 13:11:29,241 INFO L226 Difference]: Without dead ends: 32 [2019-02-27 13:11:29,241 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 5.5s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-27 13:11:29,241 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2019-02-27 13:11:29,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 31. [2019-02-27 13:11:29,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:11:29,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand 31 states. [2019-02-27 13:11:29,303 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 31 states. [2019-02-27 13:11:29,303 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 31 states. [2019-02-27 13:11:29,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:29,306 INFO L93 Difference]: Finished difference Result 32 states and 110 transitions. [2019-02-27 13:11:29,306 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 110 transitions. [2019-02-27 13:11:29,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:29,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:29,307 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 32 states. [2019-02-27 13:11:29,307 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 32 states. [2019-02-27 13:11:29,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:11:29,309 INFO L93 Difference]: Finished difference Result 32 states and 110 transitions. [2019-02-27 13:11:29,309 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 110 transitions. [2019-02-27 13:11:29,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:11:29,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:11:29,310 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:11:29,310 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:11:29,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-02-27 13:11:29,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 110 transitions. [2019-02-27 13:11:29,312 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 110 transitions. Word has length 4 [2019-02-27 13:11:29,312 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:11:29,312 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 110 transitions. [2019-02-27 13:11:29,312 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-27 13:11:29,312 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 110 transitions. [2019-02-27 13:11:29,313 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 13:11:29,313 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 13:11:29,313 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 13:11:29,313 INFO L423 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-27 13:11:29,313 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:11:29,313 INFO L82 PathProgramCache]: Analyzing trace with hash 941532, now seen corresponding path program 1 times [2019-02-27 13:11:29,314 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 13:11:29,314 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:29,314 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:11:29,315 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 13:11:29,315 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 13:11:29,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:29,475 INFO L273 TraceCheckUtils]: 0: Hoare triple {1390#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {1392#(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 13:11:29,476 INFO L273 TraceCheckUtils]: 1: Hoare triple {1392#(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]; {1393#(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 13:11:29,477 INFO L273 TraceCheckUtils]: 2: Hoare triple {1393#(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]; {1394#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-27 13:11:29,477 INFO L273 TraceCheckUtils]: 3: Hoare triple {1394#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1391#false} is VALID [2019-02-27 13:11:29,477 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:29,478 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:11:29,478 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 13:11:29,478 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 13:11:29,478 INFO L207 CegarAbsIntRunner]: [0], [18], [22], [31] [2019-02-27 13:11:29,479 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 13:11:29,479 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 13:11:29,516 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 13:11:29,516 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 88 root evaluator evaluations with a maximum evaluation depth of 3. Performed 88 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:11:29,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 13:11:29,516 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 13:11:29,516 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 13:11:29,516 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 13:11:29,526 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 13:11:29,526 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 13:11:29,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:29,540 INFO L256 TraceCheckSpWp]: Trace formula consists of 30 conjuncts, 14 conjunts are in the unsatisfiable core [2019-02-27 13:11:29,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 13:11:29,543 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 13:11:29,571 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 24 treesize of output 27 [2019-02-27 13:11:29,577 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,578 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 27 treesize of output 33 [2019-02-27 13:11:29,587 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,589 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,590 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 29 treesize of output 43 [2019-02-27 13:11:29,603 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,604 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,605 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,607 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 31 treesize of output 57 [2019-02-27 13:11:29,626 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,627 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,629 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,631 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,632 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 75 [2019-02-27 13:11:29,656 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,657 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,658 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,659 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,661 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,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, 15 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 97 [2019-02-27 13:11:29,691 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,692 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,694 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,696 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,697 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,699 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,700 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 21 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 120 [2019-02-27 13:11:29,704 INFO L301 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:29,764 INFO L301 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:29,800 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:29,827 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:29,849 INFO L301 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:29,867 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:29,884 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:29,927 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,928 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,929 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,930 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,932 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,937 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,945 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:29,946 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 4 [2019-02-27 13:11:29,947 INFO L301 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:29,950 INFO L301 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:29,952 INFO L301 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:11:30,004 INFO L301 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-27 13:11:30,004 INFO L208 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:71, output treesize:54 [2019-02-27 13:11:30,123 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:30,123 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_52|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7, |v_#valid_14|]. (let ((.cse0 (store |v_#valid_14| ULTIMATE.start_main_p1 1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (store (store (store (store (store (store (store |v_#memory_int_52| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) ULTIMATE.start_main_p7 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= 0 (select (store (store (store (store .cse0 ULTIMATE.start_main_p2 1) ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (< 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:30,123 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-02-27 13:11:30,210 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,212 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,213 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,214 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,215 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,216 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,218 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,219 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,220 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,221 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,222 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,224 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,225 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,226 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,227 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,228 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,230 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,231 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,232 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,233 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,234 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,236 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:30,237 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 22 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 120 [2019-02-27 13:11:30,244 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:30,341 INFO L301 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-02-27 13:11:30,341 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:64, output treesize:54 [2019-02-27 13:11:32,434 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:32,435 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_53|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p7, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_53| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_53| ULTIMATE.start_main_p7) 0) (= .cse0 0) (= (select |v_#memory_int_53| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_53| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (store |v_#memory_int_53| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_53| ULTIMATE.start_main_p6) 0) (= (select |v_#memory_int_53| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_53| ULTIMATE.start_main_p1) 0))) [2019-02-27 13:11:32,435 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-02-27 13:11:32,543 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,544 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,545 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,546 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,564 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,565 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,566 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,567 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,568 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,569 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,570 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,571 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,572 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,574 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,575 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,576 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,577 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,578 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,579 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,581 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,582 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,585 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,586 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:11:32,588 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 24 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 122 [2019-02-27 13:11:32,604 INFO L301 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-27 13:11:32,690 INFO L301 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-1 vars, End of recursive call: 6 dim-0 vars, and 1 xjuncts. [2019-02-27 13:11:32,690 INFO L208 ElimStorePlain]: Needed 2 recursive calls to eliminate 7 variables, input treesize:66, output treesize:56 [2019-02-27 13:11:34,763 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:11:34,764 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p7]. (let ((.cse0 (select |v_#memory_int_54| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_54| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_54| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (select |v_#memory_int_54| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_54| ULTIMATE.start_main_p6)) (= (select |v_#memory_int_54| ULTIMATE.start_main_p7) 0) (= 0 (+ (select |v_#memory_int_54| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_54| ULTIMATE.start_main_p3)))) [2019-02-27 13:11:34,764 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (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_p7)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-02-27 13:11:39,285 INFO L273 TraceCheckUtils]: 0: Hoare triple {1390#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {1398#(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))) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int)) (and (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-27 13:11:39,290 INFO L273 TraceCheckUtils]: 1: Hoare triple {1398#(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))) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int)) (and (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))) (< 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]; {1402#(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))) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int)) (and (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))))} is VALID [2019-02-27 13:11:39,574 INFO L273 TraceCheckUtils]: 2: Hoare triple {1402#(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))) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int)) (and (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1406#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))))} is VALID [2019-02-27 13:11:39,576 INFO L273 TraceCheckUtils]: 3: Hoare triple {1406#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p6 ULTIMATE.start_main_p7) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p5 ULTIMATE.start_main_p6) (= (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) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))))} assume !(#memory_int[main_p1] >= 0); {1391#false} is VALID [2019-02-27 13:11:39,576 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:39,576 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:11:39,679 INFO L273 TraceCheckUtils]: 3: Hoare triple {1410#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1391#false} is VALID [2019-02-27 13:11:39,680 INFO L273 TraceCheckUtils]: 2: Hoare triple {1414#(<= 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]; {1410#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-27 13:11:39,682 INFO L273 TraceCheckUtils]: 1: Hoare triple {1418#(<= 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]; {1414#(<= 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:11:39,685 INFO L273 TraceCheckUtils]: 0: Hoare triple {1390#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;assume main_p5 < main_p6;assume main_p6 < main_p7;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0]; {1418#(<= 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 13:11:39,685 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:11:39,706 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:11:39,706 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-27 13:11:39,706 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:11:39,706 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-27 13:11:39,706 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:11:39,706 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 13:11:40,060 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:11:40,060 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 13:11:40,060 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 13:11:40,060 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 13:11:40,060 INFO L87 Difference]: Start difference. First operand 31 states and 110 transitions. Second operand 8 states. [2019-02-27 13:11:44,256 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2019-02-27 13:11:44,257 FATAL L265 ToolchainWalker]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) Connection to SMT solver broken at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.input(Executor.java:123) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.pop(Scriptor.java:139) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.DiffWrapperScript.pop(DiffWrapperScript.java:102) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.managedscript.ManagedScript.pop(ManagedScript.java:131) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.unAssertPrecondition(IncrementalHoareTripleChecker.java:335) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.clearAssertionStack(IncrementalHoareTripleChecker.java:259) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.releaseLock(IncrementalHoareTripleChecker.java:271) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.ProtectiveHoareTripleChecker.releaseLock(ProtectiveHoareTripleChecker.java:94) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.EfficientHoareTripleChecker.releaseLock(EfficientHoareTripleChecker.java:164) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.CachingHoareTripleChecker.releaseLock(CachingHoareTripleChecker.java:202) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.AbstractInterpolantAutomaton.switchToReadonlyMode(AbstractInterpolantAutomaton.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.computeAutomataDifference(BasicCegarLoop.java:715) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.refineAbstraction(BasicCegarLoop.java:628) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:472) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: java.io.IOException: Stream closed at java.lang.ProcessBuilder$NullOutputStream.write(ProcessBuilder.java:433) at java.io.OutputStream.write(OutputStream.java:116) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:297) at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) at java.io.BufferedWriter.flush(BufferedWriter.java:254) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.input(Executor.java:120) ... 28 more [2019-02-27 13:11:44,261 INFO L168 Benchmark]: Toolchain (without parser) took 246472.48 ms. Allocated memory was 133.7 MB in the beginning and 299.9 MB in the end (delta: 166.2 MB). Free memory was 108.7 MB in the beginning and 217.9 MB in the end (delta: -109.1 MB). Peak memory consumption was 57.1 MB. Max. memory is 7.1 GB. [2019-02-27 13:11:44,262 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.19 ms. Allocated memory is still 133.7 MB. Free memory is still 110.2 MB. There was no memory consumed. Max. memory is 7.1 GB. [2019-02-27 13:11:44,262 INFO L168 Benchmark]: Boogie Procedure Inliner took 68.32 ms. Allocated memory is still 133.7 MB. Free memory was 108.5 MB in the beginning and 106.0 MB in the end (delta: 2.5 MB). Peak memory consumption was 2.5 MB. Max. memory is 7.1 GB. [2019-02-27 13:11:44,263 INFO L168 Benchmark]: Boogie Preprocessor took 36.50 ms. Allocated memory is still 133.7 MB. Free memory was 106.0 MB in the beginning and 104.8 MB in the end (delta: 1.3 MB). Peak memory consumption was 1.3 MB. Max. memory is 7.1 GB. [2019-02-27 13:11:44,263 INFO L168 Benchmark]: RCFGBuilder took 909.34 ms. Allocated memory is still 133.7 MB. Free memory was 104.8 MB in the beginning and 78.8 MB in the end (delta: 26.0 MB). Peak memory consumption was 26.0 MB. Max. memory is 7.1 GB. [2019-02-27 13:11:44,264 INFO L168 Benchmark]: TraceAbstraction took 245453.47 ms. Allocated memory was 133.7 MB in the beginning and 299.9 MB in the end (delta: 166.2 MB). Free memory was 78.3 MB in the beginning and 217.9 MB in the end (delta: -139.5 MB). Peak memory consumption was 26.7 MB. Max. memory is 7.1 GB. [2019-02-27 13:11:44,266 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.19 ms. Allocated memory is still 133.7 MB. Free memory is still 110.2 MB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 68.32 ms. Allocated memory is still 133.7 MB. Free memory was 108.5 MB in the beginning and 106.0 MB in the end (delta: 2.5 MB). Peak memory consumption was 2.5 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 36.50 ms. Allocated memory is still 133.7 MB. Free memory was 106.0 MB in the beginning and 104.8 MB in the end (delta: 1.3 MB). Peak memory consumption was 1.3 MB. Max. memory is 7.1 GB. * RCFGBuilder took 909.34 ms. Allocated memory is still 133.7 MB. Free memory was 104.8 MB in the beginning and 78.8 MB in the end (delta: 26.0 MB). Peak memory consumption was 26.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 245453.47 ms. Allocated memory was 133.7 MB in the beginning and 299.9 MB in the end (delta: 166.2 MB). Free memory was 78.3 MB in the beginning and 217.9 MB in the end (delta: -139.5 MB). Peak memory consumption was 26.7 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) Connection to SMT solver broken de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) Connection to SMT solver broken: de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.input(Executor.java:123) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...