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_array_oct.epf -i ../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-unlimited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-fb97592 [2018-12-19 21:48:39,662 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-12-19 21:48:39,664 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-12-19 21:48:39,677 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-12-19 21:48:39,677 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-12-19 21:48:39,678 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-12-19 21:48:39,680 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-12-19 21:48:39,681 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-12-19 21:48:39,683 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-12-19 21:48:39,684 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-12-19 21:48:39,685 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-12-19 21:48:39,685 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-12-19 21:48:39,686 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-12-19 21:48:39,687 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-12-19 21:48:39,688 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-12-19 21:48:39,689 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-12-19 21:48:39,690 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-12-19 21:48:39,692 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-12-19 21:48:39,694 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-12-19 21:48:39,695 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-12-19 21:48:39,697 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-12-19 21:48:39,698 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-12-19 21:48:39,700 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-12-19 21:48:39,701 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-12-19 21:48:39,701 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-12-19 21:48:39,702 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-12-19 21:48:39,703 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-12-19 21:48:39,704 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-12-19 21:48:39,705 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-12-19 21:48:39,706 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-12-19 21:48:39,706 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-12-19 21:48:39,707 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-12-19 21:48:39,707 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-12-19 21:48:39,707 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-12-19 21:48:39,708 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-12-19 21:48:39,709 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-12-19 21:48:39,709 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/array-bench/reach_32bit_array_oct.epf [2018-12-19 21:48:39,722 INFO L110 SettingsManager]: Loading preferences was successful [2018-12-19 21:48:39,722 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-12-19 21:48:39,723 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2018-12-19 21:48:39,723 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2018-12-19 21:48:39,723 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-12-19 21:48:39,724 INFO L133 SettingsManager]: * User list type=DISABLED [2018-12-19 21:48:39,724 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2018-12-19 21:48:39,724 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-12-19 21:48:39,724 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-12-19 21:48:39,724 INFO L133 SettingsManager]: * Underlying domain=OctagonDomain [2018-12-19 21:48:39,725 INFO L133 SettingsManager]: * Abstract domain=ArrayDomain [2018-12-19 21:48:39,725 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-12-19 21:48:39,725 INFO L133 SettingsManager]: * Interval Domain=false [2018-12-19 21:48:39,726 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-12-19 21:48:39,726 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-12-19 21:48:39,726 INFO L133 SettingsManager]: * Use SBE=true [2018-12-19 21:48:39,726 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-12-19 21:48:39,726 INFO L133 SettingsManager]: * sizeof long=4 [2018-12-19 21:48:39,727 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-12-19 21:48:39,727 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-12-19 21:48:39,727 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-12-19 21:48:39,727 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-12-19 21:48:39,727 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-12-19 21:48:39,728 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-12-19 21:48:39,728 INFO L133 SettingsManager]: * sizeof long double=12 [2018-12-19 21:48:39,728 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-12-19 21:48:39,728 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-12-19 21:48:39,728 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-12-19 21:48:39,729 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-12-19 21:48:39,729 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-12-19 21:48:39,729 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-19 21:48:39,729 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-12-19 21:48:39,729 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-12-19 21:48:39,730 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-12-19 21:48:39,730 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-12-19 21:48:39,730 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-12-19 21:48:39,730 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-12-19 21:48:39,730 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-12-19 21:48:39,730 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2018-12-19 21:48:39,762 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-12-19 21:48:39,775 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-12-19 21:48:39,782 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-12-19 21:48:39,784 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2018-12-19 21:48:39,785 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2018-12-19 21:48:39,786 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-unlimited.bpl [2018-12-19 21:48:39,786 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-unlimited.bpl' [2018-12-19 21:48:39,827 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-12-19 21:48:39,828 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-12-19 21:48:39,829 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-12-19 21:48:39,829 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-12-19 21:48:39,829 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-12-19 21:48:39,849 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:48:39" (1/1) ... [2018-12-19 21:48:39,867 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:48:39" (1/1) ... [2018-12-19 21:48:39,907 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-12-19 21:48:39,908 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-12-19 21:48:39,909 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-12-19 21:48:39,909 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-12-19 21:48:39,922 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:48:39" (1/1) ... [2018-12-19 21:48:39,923 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:48:39" (1/1) ... [2018-12-19 21:48:39,925 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:48:39" (1/1) ... [2018-12-19 21:48:39,926 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:48:39" (1/1) ... [2018-12-19 21:48:39,933 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:48:39" (1/1) ... [2018-12-19 21:48:39,942 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:48:39" (1/1) ... [2018-12-19 21:48:39,945 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:48:39" (1/1) ... [2018-12-19 21:48:39,951 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-12-19 21:48:39,952 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-12-19 21:48:39,952 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-12-19 21:48:39,952 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-12-19 21:48:39,956 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:48:39" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-19 21:48:40,031 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-12-19 21:48:40,031 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-12-19 21:48:40,716 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-12-19 21:48:40,716 INFO L280 CfgBuilder]: Removed 15 assue(true) statements. [2018-12-19 21:48:40,717 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 09:48:40 BoogieIcfgContainer [2018-12-19 21:48:40,717 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-12-19 21:48:40,718 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-12-19 21:48:40,718 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-12-19 21:48:40,722 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-12-19 21:48:40,722 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:48:39" (1/2) ... [2018-12-19 21:48:40,723 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5a1a6c75 and model type speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.12 09:48:40, skipping insertion in model container [2018-12-19 21:48:40,724 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 09:48:40" (2/2) ... [2018-12-19 21:48:40,726 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-6-unlimited.bpl [2018-12-19 21:48:40,736 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-12-19 21:48:40,744 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 6 error locations. [2018-12-19 21:48:40,763 INFO L257 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2018-12-19 21:48:40,798 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-12-19 21:48:40,798 INFO L383 AbstractCegarLoop]: Hoare is true [2018-12-19 21:48:40,798 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-12-19 21:48:40,798 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-12-19 21:48:40,799 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-12-19 21:48:40,799 INFO L387 AbstractCegarLoop]: Difference is false [2018-12-19 21:48:40,799 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-12-19 21:48:40,799 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-12-19 21:48:40,815 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states. [2018-12-19 21:48:40,822 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2018-12-19 21:48:40,822 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:48:40,823 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2018-12-19 21:48:40,825 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:48:40,832 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:48:40,832 INFO L82 PathProgramCache]: Analyzing trace with hash 988, now seen corresponding path program 1 times [2018-12-19 21:48:40,835 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:48:40,891 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:48:40,892 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:48:40,892 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:48:40,892 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:48:40,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:48:41,139 INFO L273 TraceCheckUtils]: 0: Hoare triple {18#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {20#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:48:41,144 INFO L273 TraceCheckUtils]: 1: Hoare triple {20#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {19#false} is VALID [2018-12-19 21:48:41,146 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:48:41,148 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-19 21:48:41,148 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-19 21:48:41,149 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:48:41,154 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-19 21:48:41,156 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:48:41,160 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-19 21:48:41,191 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 2 edges. 2 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:48:41,192 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-19 21:48:41,202 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-19 21:48:41,202 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:48:41,205 INFO L87 Difference]: Start difference. First operand 15 states. Second operand 3 states. [2018-12-19 21:48:41,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:48:41,609 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2018-12-19 21:48:41,609 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:48:41,609 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-19 21:48:41,610 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:48:41,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:48:41,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 39 transitions. [2018-12-19 21:48:41,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:48:41,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 39 transitions. [2018-12-19 21:48:41,620 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 39 transitions. [2018-12-19 21:48:41,871 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:48:41,883 INFO L225 Difference]: With dead ends: 29 [2018-12-19 21:48:41,883 INFO L226 Difference]: Without dead ends: 24 [2018-12-19 21:48:41,886 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:48:41,902 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2018-12-19 21:48:41,928 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 14. [2018-12-19 21:48:41,928 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:48:41,929 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 14 states. [2018-12-19 21:48:41,929 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 14 states. [2018-12-19 21:48:41,930 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 14 states. [2018-12-19 21:48:41,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:48:41,934 INFO L93 Difference]: Finished difference Result 24 states and 34 transitions. [2018-12-19 21:48:41,935 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 34 transitions. [2018-12-19 21:48:41,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:48:41,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:48:41,936 INFO L74 IsIncluded]: Start isIncluded. First operand 14 states. Second operand 24 states. [2018-12-19 21:48:41,936 INFO L87 Difference]: Start difference. First operand 14 states. Second operand 24 states. [2018-12-19 21:48:41,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:48:41,940 INFO L93 Difference]: Finished difference Result 24 states and 34 transitions. [2018-12-19 21:48:41,940 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 34 transitions. [2018-12-19 21:48:41,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:48:41,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:48:41,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:48:41,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:48:41,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-12-19 21:48:41,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 25 transitions. [2018-12-19 21:48:41,946 INFO L78 Accepts]: Start accepts. Automaton has 14 states and 25 transitions. Word has length 2 [2018-12-19 21:48:41,947 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:48:41,947 INFO L480 AbstractCegarLoop]: Abstraction has 14 states and 25 transitions. [2018-12-19 21:48:41,947 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-19 21:48:41,948 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 25 transitions. [2018-12-19 21:48:41,948 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:48:41,948 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:48:41,948 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:48:41,949 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:48:41,949 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:48:41,950 INFO L82 PathProgramCache]: Analyzing trace with hash 30376, now seen corresponding path program 1 times [2018-12-19 21:48:41,950 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:48:41,951 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:48:41,951 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:48:41,952 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:48:41,952 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:48:41,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:48:42,186 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {120#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:48:42,195 INFO L273 TraceCheckUtils]: 1: Hoare triple {120#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {121#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:48:42,210 INFO L273 TraceCheckUtils]: 2: Hoare triple {121#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2018-12-19 21:48:42,211 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:48:42,211 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:48:42,211 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:48:42,213 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:48:42,215 INFO L207 CegarAbsIntRunner]: [0], [18], [27] [2018-12-19 21:48:42,274 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:48:42,275 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:48:45,555 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:48:45,556 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:48:45,560 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:48:45,562 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:48:45,562 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:48:45,562 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:48:45,578 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:48:45,578 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:48:45,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:48:45,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:48:45,617 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:48:45,782 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:45,788 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:48:46,025 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,052 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:48:46,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,290 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,292 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:48:46,477 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,480 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,481 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,481 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:46,488 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:48:46,494 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:48:46,515 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:46,536 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:46,555 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:46,590 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:48:46,604 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:48:46,653 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:48:46,747 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:48:46,785 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:48:46,874 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:48:46,890 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:48:46,928 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:47,000 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:47,040 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:47,054 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:47,068 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:47,241 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:48:47,242 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-19 21:48:47,276 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:48:47,276 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_32|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_8|]. (let ((.cse0 (store |v_#valid_8| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_32| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p3) 0))))) [2018-12-19 21:48:47,277 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:48:47,594 WARN L181 SmtUtils]: Spent 164.00 ms on a formula simplification. DAG size of input: 44 DAG size of output: 40 [2018-12-19 21:48:47,743 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:47,745 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:48:47,751 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:48:47,818 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:48:47,818 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-19 21:48:49,823 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:48:49,823 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_33| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_33| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_33| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_33| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_33| ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_33| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-19 21:48:49,823 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:48:49,875 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:48:49,879 INFO L273 TraceCheckUtils]: 1: Hoare triple {125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:48:49,880 INFO L273 TraceCheckUtils]: 2: Hoare triple {129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2018-12-19 21:48:49,881 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:48:49,881 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:48:49,917 INFO L273 TraceCheckUtils]: 2: Hoare triple {133#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2018-12-19 21:48:49,918 INFO L273 TraceCheckUtils]: 1: Hoare triple {137#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {133#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:48:49,921 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {137#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:48:49,922 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:48:49,945 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:48:49,945 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:48:49,945 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:48:49,946 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:48:49,946 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:48:49,947 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:48:49,962 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:48:49,962 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:48:49,963 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:48:49,963 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:48:49,963 INFO L87 Difference]: Start difference. First operand 14 states and 25 transitions. Second operand 6 states. [2018-12-19 21:48:50,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:48:50,852 INFO L93 Difference]: Finished difference Result 47 states and 68 transitions. [2018-12-19 21:48:50,852 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:48:50,853 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:48:50,853 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:48:50,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:48:50,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2018-12-19 21:48:50,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:48:50,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2018-12-19 21:48:50,858 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 68 transitions. [2018-12-19 21:48:50,998 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:48:51,003 INFO L225 Difference]: With dead ends: 47 [2018-12-19 21:48:51,003 INFO L226 Difference]: Without dead ends: 45 [2018-12-19 21:48:51,004 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-19 21:48:51,004 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2018-12-19 21:48:51,028 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 18. [2018-12-19 21:48:51,028 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:48:51,028 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 18 states. [2018-12-19 21:48:51,029 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 18 states. [2018-12-19 21:48:51,029 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 18 states. [2018-12-19 21:48:51,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:48:51,033 INFO L93 Difference]: Finished difference Result 45 states and 65 transitions. [2018-12-19 21:48:51,034 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 65 transitions. [2018-12-19 21:48:51,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:48:51,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:48:51,035 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 45 states. [2018-12-19 21:48:51,035 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 45 states. [2018-12-19 21:48:51,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:48:51,042 INFO L93 Difference]: Finished difference Result 45 states and 65 transitions. [2018-12-19 21:48:51,042 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 65 transitions. [2018-12-19 21:48:51,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:48:51,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:48:51,044 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:48:51,044 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:48:51,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-12-19 21:48:51,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 37 transitions. [2018-12-19 21:48:51,046 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 37 transitions. Word has length 3 [2018-12-19 21:48:51,046 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:48:51,046 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 37 transitions. [2018-12-19 21:48:51,046 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:48:51,047 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 37 transitions. [2018-12-19 21:48:51,047 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:48:51,047 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:48:51,047 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:48:51,048 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:48:51,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:48:51,048 INFO L82 PathProgramCache]: Analyzing trace with hash 30004, now seen corresponding path program 1 times [2018-12-19 21:48:51,049 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:48:51,050 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:48:51,050 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:48:51,050 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:48:51,050 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:48:51,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:48:51,146 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {306#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:48:51,148 INFO L273 TraceCheckUtils]: 1: Hoare triple {306#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:48:51,152 INFO L273 TraceCheckUtils]: 2: Hoare triple {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2018-12-19 21:48:51,152 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:48:51,152 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:48:51,153 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:48:51,153 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:48:51,153 INFO L207 CegarAbsIntRunner]: [0], [6], [27] [2018-12-19 21:48:51,160 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:48:51,161 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:48:52,628 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:48:52,629 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:48:52,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:48:52,629 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:48:52,629 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:48:52,629 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:48:52,639 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:48:52,640 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:48:52,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:48:52,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:48:52,663 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:48:52,720 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:48:52,771 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:48:52,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:52,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:52,844 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:48:53,029 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,033 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:48:53,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,059 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:48:53,168 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:48:53,174 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:48:53,215 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:53,264 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:53,287 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:53,317 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:53,333 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:53,430 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,431 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:48:53,587 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,591 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,593 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:48:53,653 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,654 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,656 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,657 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,658 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:48:53,739 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,740 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,743 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,744 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:53,745 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:48:53,747 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:48:53,772 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:53,788 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:53,804 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:53,868 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:48:53,868 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 7 variables, input treesize:72, output treesize:71 [2018-12-19 21:48:54,082 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:48:54,083 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_35|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_9|]. (let ((.cse0 (store |v_#valid_9| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p4) 0) (= (store (store (store (store (store (store |v_#memory_int_35| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-19 21:48:54,083 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:48:54,279 WARN L181 SmtUtils]: Spent 176.00 ms on a formula simplification. DAG size of input: 44 DAG size of output: 40 [2018-12-19 21:48:54,402 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:54,404 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:48:54,406 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:48:54,449 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:48:54,450 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-19 21:48:54,482 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:48:54,482 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_36| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_36| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_36| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:48:54,482 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:48:54,515 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {311#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:48:54,518 INFO L273 TraceCheckUtils]: 1: Hoare triple {311#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {315#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:48:54,519 INFO L273 TraceCheckUtils]: 2: Hoare triple {315#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2018-12-19 21:48:54,519 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:48:54,520 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:48:54,531 INFO L273 TraceCheckUtils]: 2: Hoare triple {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2018-12-19 21:48:54,532 INFO L273 TraceCheckUtils]: 1: Hoare triple {322#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:48:54,538 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {322#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:48:54,538 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:48:54,556 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-19 21:48:54,557 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2018-12-19 21:48:54,557 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:48:54,557 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-19 21:48:54,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:48:54,557 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:48:54,562 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:48:54,562 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:48:54,562 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:48:54,562 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:48:54,563 INFO L87 Difference]: Start difference. First operand 18 states and 37 transitions. Second operand 4 states. [2018-12-19 21:48:54,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:48:54,726 INFO L93 Difference]: Finished difference Result 23 states and 60 transitions. [2018-12-19 21:48:54,726 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-12-19 21:48:54,727 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-19 21:48:54,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:48:54,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:48:54,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 34 transitions. [2018-12-19 21:48:54,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:48:54,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 34 transitions. [2018-12-19 21:48:54,730 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 34 transitions. [2018-12-19 21:48:54,809 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:48:54,810 INFO L225 Difference]: With dead ends: 23 [2018-12-19 21:48:54,811 INFO L226 Difference]: Without dead ends: 22 [2018-12-19 21:48:54,812 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:48:54,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2018-12-19 21:48:54,857 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 21. [2018-12-19 21:48:54,858 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:48:54,858 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand 21 states. [2018-12-19 21:48:54,858 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 21 states. [2018-12-19 21:48:54,858 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 21 states. [2018-12-19 21:48:54,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:48:54,861 INFO L93 Difference]: Finished difference Result 22 states and 59 transitions. [2018-12-19 21:48:54,861 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 59 transitions. [2018-12-19 21:48:54,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:48:54,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:48:54,861 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 22 states. [2018-12-19 21:48:54,862 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 22 states. [2018-12-19 21:48:54,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:48:54,864 INFO L93 Difference]: Finished difference Result 22 states and 59 transitions. [2018-12-19 21:48:54,864 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 59 transitions. [2018-12-19 21:48:54,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:48:54,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:48:54,865 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:48:54,865 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:48:54,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-12-19 21:48:54,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 59 transitions. [2018-12-19 21:48:54,867 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 59 transitions. Word has length 3 [2018-12-19 21:48:54,868 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:48:54,868 INFO L480 AbstractCegarLoop]: Abstraction has 21 states and 59 transitions. [2018-12-19 21:48:54,868 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:48:54,868 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 59 transitions. [2018-12-19 21:48:54,868 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:48:54,868 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:48:54,869 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:48:54,869 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:48:54,869 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:48:54,869 INFO L82 PathProgramCache]: Analyzing trace with hash 30562, now seen corresponding path program 1 times [2018-12-19 21:48:54,869 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:48:54,870 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:48:54,870 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:48:54,871 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:48:54,871 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:48:54,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:48:55,002 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {427#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} is VALID [2018-12-19 21:48:55,004 INFO L273 TraceCheckUtils]: 1: Hoare triple {427#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {428#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:48:55,007 INFO L273 TraceCheckUtils]: 2: Hoare triple {428#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2018-12-19 21:48:55,008 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:48:55,008 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:48:55,008 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:48:55,009 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:48:55,009 INFO L207 CegarAbsIntRunner]: [0], [24], [27] [2018-12-19 21:48:55,010 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:48:55,010 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:48:56,143 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:48:56,143 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:48:56,144 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:48:56,144 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:48:56,144 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:48:56,144 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:48:56,153 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:48:56,153 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:48:56,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:48:56,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:48:56,162 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:48:56,234 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,236 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:48:56,293 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,296 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:48:56,407 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,410 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,411 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,413 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:48:56,495 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,496 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,497 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,503 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:48:56,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,611 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:56,615 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:48:56,619 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:48:56,646 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:56,676 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:56,705 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:56,736 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:56,778 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:48:56,789 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:48:56,805 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:48:56,826 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:48:56,870 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:48:56,897 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:48:56,902 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:48:56,938 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:56,959 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:56,977 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:56,992 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:57,044 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:48:57,102 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:48:57,103 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 6 variables, input treesize:92, output treesize:91 [2018-12-19 21:48:57,121 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:48:57,122 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_10|]. (let ((.cse3 (store |v_#valid_10| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_38| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= (select .cse3 ULTIMATE.start_main_p2) 0)))))) [2018-12-19 21:48:57,122 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:48:57,256 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:48:57,258 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-19 21:48:57,263 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:48:57,320 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:48:57,320 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:101, output treesize:71 [2018-12-19 21:48:59,337 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:48:59,337 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_39|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_39| ULTIMATE.start_main_p6))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (store |v_#memory_int_39| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:48:59,338 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:48:59,392 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {432#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:48:59,398 INFO L273 TraceCheckUtils]: 1: Hoare triple {432#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {436#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:48:59,399 INFO L273 TraceCheckUtils]: 2: Hoare triple {436#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2018-12-19 21:48:59,399 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:48:59,400 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:48:59,422 INFO L273 TraceCheckUtils]: 2: Hoare triple {440#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2018-12-19 21:48:59,423 INFO L273 TraceCheckUtils]: 1: Hoare triple {444#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {440#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:48:59,426 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {444#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:48:59,426 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:48:59,446 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:48:59,447 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:48:59,447 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:48:59,447 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:48:59,447 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:48:59,448 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:48:59,464 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:48:59,464 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:48:59,464 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:48:59,464 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:48:59,465 INFO L87 Difference]: Start difference. First operand 21 states and 59 transitions. Second operand 6 states. [2018-12-19 21:49:00,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:00,211 INFO L93 Difference]: Finished difference Result 39 states and 79 transitions. [2018-12-19 21:49:00,211 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-12-19 21:49:00,212 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:49:00,212 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:49:00,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:49:00,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2018-12-19 21:49:00,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:49:00,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2018-12-19 21:49:00,214 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2018-12-19 21:49:00,367 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:00,369 INFO L225 Difference]: With dead ends: 39 [2018-12-19 21:49:00,369 INFO L226 Difference]: Without dead ends: 36 [2018-12-19 21:49:00,369 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:49:00,370 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-12-19 21:49:00,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 23. [2018-12-19 21:49:00,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:49:00,429 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 23 states. [2018-12-19 21:49:00,429 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 23 states. [2018-12-19 21:49:00,429 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 23 states. [2018-12-19 21:49:00,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:00,432 INFO L93 Difference]: Finished difference Result 36 states and 76 transitions. [2018-12-19 21:49:00,432 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 76 transitions. [2018-12-19 21:49:00,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:00,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:00,433 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 36 states. [2018-12-19 21:49:00,433 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 36 states. [2018-12-19 21:49:00,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:00,436 INFO L93 Difference]: Finished difference Result 36 states and 76 transitions. [2018-12-19 21:49:00,436 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 76 transitions. [2018-12-19 21:49:00,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:00,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:00,438 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:49:00,438 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:49:00,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-12-19 21:49:00,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 67 transitions. [2018-12-19 21:49:00,440 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 67 transitions. Word has length 3 [2018-12-19 21:49:00,440 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:49:00,440 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 67 transitions. [2018-12-19 21:49:00,440 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:49:00,440 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 67 transitions. [2018-12-19 21:49:00,440 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:49:00,440 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:49:00,441 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:49:00,441 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:49:00,441 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:00,441 INFO L82 PathProgramCache]: Analyzing trace with hash 30128, now seen corresponding path program 1 times [2018-12-19 21:49:00,441 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:49:00,442 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:00,442 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:00,442 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:00,443 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:49:00,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:00,540 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {597#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:49:00,542 INFO L273 TraceCheckUtils]: 1: Hoare triple {597#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {598#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:49:00,560 INFO L273 TraceCheckUtils]: 2: Hoare triple {598#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2018-12-19 21:49:00,560 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:00,561 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:00,561 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:49:00,561 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:49:00,561 INFO L207 CegarAbsIntRunner]: [0], [10], [27] [2018-12-19 21:49:00,562 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:49:00,562 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:49:01,995 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:49:01,995 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:49:01,995 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:01,996 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:49:01,996 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:01,996 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:49:02,008 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:02,008 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:49:02,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:02,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:02,027 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:49:02,170 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:49:02,177 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:49:02,199 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,200 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,201 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:49:02,212 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,213 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,215 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:49:02,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,233 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,234 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,235 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:49:02,263 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:49:02,266 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:02,295 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:02,317 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:02,336 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:02,351 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:02,364 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:02,392 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,394 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:49:02,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,462 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:49:02,515 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,517 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,519 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:49:02,588 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,589 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,590 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,591 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,592 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,594 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,595 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:49:02,598 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:02,614 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:02,631 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:02,648 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:02,691 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:02,691 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-19 21:49:02,710 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:02,711 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_11|]. (let ((.cse1 (store |v_#valid_11| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store (store |v_#memory_int_41| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-19 21:49:02,711 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:49:02,845 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:02,846 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:49:02,849 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:02,888 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:02,889 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-19 21:49:03,024 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:03,024 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_42| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_42| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_42| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p5) 0))) [2018-12-19 21:49:03,024 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:49:03,083 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {602#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:49:03,085 INFO L273 TraceCheckUtils]: 1: Hoare triple {602#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {606#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:49:03,091 INFO L273 TraceCheckUtils]: 2: Hoare triple {606#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2018-12-19 21:49:03,091 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:03,091 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:49:03,126 INFO L273 TraceCheckUtils]: 2: Hoare triple {610#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2018-12-19 21:49:03,128 INFO L273 TraceCheckUtils]: 1: Hoare triple {614#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {610#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:03,130 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {614#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:03,130 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:03,149 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:49:03,149 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:49:03,150 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:49:03,150 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:49:03,150 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:49:03,150 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:49:03,163 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:03,163 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:49:03,163 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:49:03,163 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:49:03,163 INFO L87 Difference]: Start difference. First operand 23 states and 67 transitions. Second operand 6 states. [2018-12-19 21:49:03,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:03,725 INFO L93 Difference]: Finished difference Result 49 states and 101 transitions. [2018-12-19 21:49:03,725 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:49:03,725 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:49:03,726 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:49:03,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:49:03,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2018-12-19 21:49:03,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:49:03,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2018-12-19 21:49:03,728 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2018-12-19 21:49:03,827 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:03,829 INFO L225 Difference]: With dead ends: 49 [2018-12-19 21:49:03,829 INFO L226 Difference]: Without dead ends: 47 [2018-12-19 21:49:03,830 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-19 21:49:03,831 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-12-19 21:49:03,918 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 25. [2018-12-19 21:49:03,918 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:49:03,919 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 25 states. [2018-12-19 21:49:03,919 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 25 states. [2018-12-19 21:49:03,919 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 25 states. [2018-12-19 21:49:03,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:03,922 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2018-12-19 21:49:03,922 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 98 transitions. [2018-12-19 21:49:03,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:03,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:03,923 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 47 states. [2018-12-19 21:49:03,923 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 47 states. [2018-12-19 21:49:03,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:03,926 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2018-12-19 21:49:03,926 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 98 transitions. [2018-12-19 21:49:03,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:03,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:03,927 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:49:03,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:49:03,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-12-19 21:49:03,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 80 transitions. [2018-12-19 21:49:03,929 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 80 transitions. Word has length 3 [2018-12-19 21:49:03,929 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:49:03,929 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 80 transitions. [2018-12-19 21:49:03,929 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:49:03,929 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 80 transitions. [2018-12-19 21:49:03,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:49:03,930 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:49:03,930 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:49:03,930 INFO L423 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:49:03,930 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:03,930 INFO L82 PathProgramCache]: Analyzing trace with hash 941528, now seen corresponding path program 1 times [2018-12-19 21:49:03,931 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:49:03,931 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:03,932 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:03,932 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:03,932 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:49:03,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:04,039 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:49:04,049 INFO L273 TraceCheckUtils]: 1: Hoare triple {807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {808#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:49:04,050 INFO L273 TraceCheckUtils]: 2: Hoare triple {808#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {809#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:49:04,051 INFO L273 TraceCheckUtils]: 3: Hoare triple {809#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2018-12-19 21:49:04,051 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:04,051 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:04,052 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:49:04,052 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:49:04,052 INFO L207 CegarAbsIntRunner]: [0], [18], [22], [27] [2018-12-19 21:49:04,053 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:49:04,053 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:49:05,029 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:49:05,029 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:49:05,029 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:05,029 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:49:05,030 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:05,030 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:49:05,039 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:05,039 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:49:05,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:05,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:05,065 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:49:05,115 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:49:05,137 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:49:05,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,148 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,149 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:49:05,164 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,168 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:49:05,188 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,189 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,191 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,193 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:49:05,222 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:49:05,226 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:05,257 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:05,281 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:05,299 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:05,335 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:05,350 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:05,382 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,384 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:49:05,438 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,440 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,441 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:49:05,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,511 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:49:05,586 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,588 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,589 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,590 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,591 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,592 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,593 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:49:05,596 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:05,613 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:05,631 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:05,647 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:05,693 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:05,693 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:49:05,703 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:05,703 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_44|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, |v_#valid_12|]. (let ((.cse2 (store |v_#valid_12| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_44| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)))))) [2018-12-19 21:49:05,704 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:49:05,822 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,824 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:49:05,829 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:05,866 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:05,866 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:49:05,875 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:05,875 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_45|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_45| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_45| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_45| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_45| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_45| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_45| ULTIMATE.start_main_p2) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:49:05,875 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:49:05,959 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,961 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,962 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,963 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,964 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,965 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,966 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:05,967 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2018-12-19 21:49:05,973 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:06,013 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:06,013 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-19 21:49:08,044 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:08,044 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_46| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_46| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_46| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 .cse0) (= (store |v_#memory_int_46| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p1)))) [2018-12-19 21:49:08,044 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:49:08,090 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {813#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:49:08,092 INFO L273 TraceCheckUtils]: 1: Hoare triple {813#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {817#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} is VALID [2018-12-19 21:49:08,093 INFO L273 TraceCheckUtils]: 2: Hoare triple {817#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {821#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} is VALID [2018-12-19 21:49:08,094 INFO L273 TraceCheckUtils]: 3: Hoare triple {821#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2018-12-19 21:49:08,095 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:08,095 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:49:08,189 INFO L273 TraceCheckUtils]: 3: Hoare triple {825#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2018-12-19 21:49:08,191 INFO L273 TraceCheckUtils]: 2: Hoare triple {829#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {825#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:08,193 INFO L273 TraceCheckUtils]: 1: Hoare triple {833#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {829#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:08,195 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {833#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:08,195 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:08,214 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:49:08,214 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:49:08,214 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:49:08,215 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:08,215 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:49:08,215 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:49:08,230 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:08,231 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:49:08,231 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:49:08,231 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:49:08,232 INFO L87 Difference]: Start difference. First operand 25 states and 80 transitions. Second operand 8 states. [2018-12-19 21:49:10,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:10,435 INFO L93 Difference]: Finished difference Result 61 states and 138 transitions. [2018-12-19 21:49:10,435 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:49:10,435 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:10,435 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:49:10,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:10,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2018-12-19 21:49:10,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:10,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2018-12-19 21:49:10,438 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 80 transitions. [2018-12-19 21:49:10,629 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:10,631 INFO L225 Difference]: With dead ends: 61 [2018-12-19 21:49:10,632 INFO L226 Difference]: Without dead ends: 57 [2018-12-19 21:49:10,632 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:49:10,633 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-12-19 21:49:10,760 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 29. [2018-12-19 21:49:10,761 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:49:10,761 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 29 states. [2018-12-19 21:49:10,761 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 29 states. [2018-12-19 21:49:10,761 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 29 states. [2018-12-19 21:49:10,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:10,765 INFO L93 Difference]: Finished difference Result 57 states and 131 transitions. [2018-12-19 21:49:10,765 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 131 transitions. [2018-12-19 21:49:10,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:10,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:10,766 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 57 states. [2018-12-19 21:49:10,766 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 57 states. [2018-12-19 21:49:10,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:10,769 INFO L93 Difference]: Finished difference Result 57 states and 131 transitions. [2018-12-19 21:49:10,769 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 131 transitions. [2018-12-19 21:49:10,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:10,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:10,770 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:49:10,770 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:49:10,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-12-19 21:49:10,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 98 transitions. [2018-12-19 21:49:10,773 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 98 transitions. Word has length 4 [2018-12-19 21:49:10,773 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:49:10,773 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 98 transitions. [2018-12-19 21:49:10,773 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:49:10,773 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 98 transitions. [2018-12-19 21:49:10,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:49:10,774 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:49:10,774 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:49:10,774 INFO L423 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:49:10,774 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:10,775 INFO L82 PathProgramCache]: Analyzing trace with hash 941590, now seen corresponding path program 1 times [2018-12-19 21:49:10,775 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:49:10,775 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:10,776 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:10,776 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:10,776 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:49:10,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:10,980 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1070#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:49:10,982 INFO L273 TraceCheckUtils]: 1: Hoare triple {1070#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1071#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:49:10,987 INFO L273 TraceCheckUtils]: 2: Hoare triple {1071#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1072#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:49:10,987 INFO L273 TraceCheckUtils]: 3: Hoare triple {1072#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2018-12-19 21:49:10,988 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:10,988 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:10,988 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:49:10,988 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:49:10,988 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [27] [2018-12-19 21:49:10,989 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:49:10,990 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:49:12,382 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:49:12,382 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:49:12,382 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:12,383 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:49:12,383 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:12,383 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:49:12,393 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:12,393 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:49:12,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:12,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:12,402 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:49:12,471 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,472 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:49:12,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,536 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:49:12,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,608 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:49:12,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,691 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,695 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,696 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,697 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:49:12,797 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,798 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,799 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,801 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,802 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,803 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,804 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,806 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:12,807 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:49:12,809 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:12,837 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:12,866 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:12,896 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:12,926 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:12,968 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:49:12,980 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:49:13,000 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:49:13,016 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:49:13,038 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:49:13,065 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:49:13,079 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:13,117 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:13,141 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:13,160 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:13,174 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:13,189 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:13,251 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:13,252 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-19 21:49:13,269 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:13,270 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_13|]. (let ((.cse2 (store |v_#valid_13| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p5)) (= 0 (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (store (store (store (store (store (store |v_#memory_int_49| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= (select .cse3 ULTIMATE.start_main_p4) 0)))))) [2018-12-19 21:49:13,270 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:49:13,481 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:13,482 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:49:13,487 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:13,564 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:13,564 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-19 21:49:15,580 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:15,581 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_50| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_50| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_50| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:49:15,581 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:49:15,761 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:15,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:15,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:15,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:15,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:15,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:15,768 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:49:15,769 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2018-12-19 21:49:15,796 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:15,910 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:15,910 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2018-12-19 21:49:16,042 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:16,042 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_51| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_51| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_51| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (= 0 (+ (select |v_#memory_int_51| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:49:16,043 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-19 21:49:16,084 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1076#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:49:16,087 INFO L273 TraceCheckUtils]: 1: Hoare triple {1076#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:49:16,097 INFO L273 TraceCheckUtils]: 2: Hoare triple {1080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1084#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:49:16,098 INFO L273 TraceCheckUtils]: 3: Hoare triple {1084#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2018-12-19 21:49:16,098 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:16,098 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:49:16,140 INFO L273 TraceCheckUtils]: 3: Hoare triple {1088#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2018-12-19 21:49:16,142 INFO L273 TraceCheckUtils]: 2: Hoare triple {1092#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1088#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:16,143 INFO L273 TraceCheckUtils]: 1: Hoare triple {1096#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1092#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:16,146 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1096#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:16,146 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:16,167 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:49:16,167 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:49:16,167 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:49:16,167 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:16,167 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:49:16,167 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:49:16,181 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:16,181 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:49:16,181 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:49:16,181 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:49:16,182 INFO L87 Difference]: Start difference. First operand 29 states and 98 transitions. Second operand 8 states. [2018-12-19 21:49:18,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:18,613 INFO L93 Difference]: Finished difference Result 59 states and 140 transitions. [2018-12-19 21:49:18,613 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:49:18,613 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:18,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:49:18,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:18,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2018-12-19 21:49:18,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:18,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2018-12-19 21:49:18,616 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 76 transitions. [2018-12-19 21:49:18,781 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:18,782 INFO L225 Difference]: With dead ends: 59 [2018-12-19 21:49:18,782 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:49:18,783 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:49:18,783 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:49:18,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 30. [2018-12-19 21:49:18,929 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:49:18,929 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 30 states. [2018-12-19 21:49:18,929 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 30 states. [2018-12-19 21:49:18,930 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 30 states. [2018-12-19 21:49:18,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:18,933 INFO L93 Difference]: Finished difference Result 55 states and 135 transitions. [2018-12-19 21:49:18,933 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 135 transitions. [2018-12-19 21:49:18,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:18,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:18,934 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 55 states. [2018-12-19 21:49:18,934 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 55 states. [2018-12-19 21:49:18,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:18,936 INFO L93 Difference]: Finished difference Result 55 states and 135 transitions. [2018-12-19 21:49:18,937 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 135 transitions. [2018-12-19 21:49:18,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:18,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:18,937 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:49:18,937 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:49:18,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-12-19 21:49:18,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 110 transitions. [2018-12-19 21:49:18,939 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 110 transitions. Word has length 4 [2018-12-19 21:49:18,940 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:49:18,940 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 110 transitions. [2018-12-19 21:49:18,940 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:49:18,940 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 110 transitions. [2018-12-19 21:49:18,940 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:49:18,940 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:49:18,940 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:49:18,941 INFO L423 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:49:18,941 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:18,941 INFO L82 PathProgramCache]: Analyzing trace with hash 941156, now seen corresponding path program 1 times [2018-12-19 21:49:18,941 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:49:18,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:18,942 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:18,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:18,942 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:49:18,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:19,093 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1331#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:49:19,097 INFO L273 TraceCheckUtils]: 1: Hoare triple {1331#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1332#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:49:19,098 INFO L273 TraceCheckUtils]: 2: Hoare triple {1332#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1333#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:49:19,098 INFO L273 TraceCheckUtils]: 3: Hoare triple {1333#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2018-12-19 21:49:19,098 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:19,098 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:19,099 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:49:19,099 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:49:19,099 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [27] [2018-12-19 21:49:19,101 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:49:19,101 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:49:20,022 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:49:20,022 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:49:20,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:20,023 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:49:20,023 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:20,023 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:49:20,031 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:20,031 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:49:20,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:20,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:20,041 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:49:20,094 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:49:20,104 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:49:20,113 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,114 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,115 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:49:20,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,134 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:49:20,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,212 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,216 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,217 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:49:20,240 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:49:20,242 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:20,273 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:20,296 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:20,314 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:20,328 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:20,341 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:20,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,375 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:49:20,425 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,426 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,427 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:49:20,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,483 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,484 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,485 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,486 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:49:20,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,559 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,560 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,561 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,562 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,563 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,564 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:49:20,566 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:20,584 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:20,599 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:20,617 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:20,656 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:20,656 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:49:20,667 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:20,667 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_14|]. (let ((.cse2 (store |v_#valid_14| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_54| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p2) 0))))) [2018-12-19 21:49:20,667 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:49:20,814 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:20,815 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:49:20,819 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:20,854 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:20,854 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:49:22,898 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:22,898 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_55| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_55| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_55| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_55| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_55| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:49:22,899 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:49:23,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:23,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:23,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:23,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:23,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:23,010 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:49:23,012 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 81 [2018-12-19 21:49:23,015 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:23,055 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:23,055 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:42 [2018-12-19 21:49:23,069 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:23,069 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_56|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_56| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_56| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_56| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_56| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_56| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_56| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-19 21:49:23,069 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:49:23,099 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1337#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:49:23,101 INFO L273 TraceCheckUtils]: 1: Hoare triple {1337#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1341#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:49:23,104 INFO L273 TraceCheckUtils]: 2: Hoare triple {1341#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:49:23,105 INFO L273 TraceCheckUtils]: 3: Hoare triple {1345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2018-12-19 21:49:23,106 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:23,106 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:49:23,147 INFO L273 TraceCheckUtils]: 3: Hoare triple {1349#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2018-12-19 21:49:23,148 INFO L273 TraceCheckUtils]: 2: Hoare triple {1353#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1349#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:23,149 INFO L273 TraceCheckUtils]: 1: Hoare triple {1357#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1353#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:23,151 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1357#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:23,152 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:23,172 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:49:23,172 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:49:23,172 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:49:23,172 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:23,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:49:23,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:49:23,187 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:23,187 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:49:23,188 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:49:23,188 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:49:23,188 INFO L87 Difference]: Start difference. First operand 30 states and 110 transitions. Second operand 8 states. [2018-12-19 21:49:23,772 WARN L181 SmtUtils]: Spent 113.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 40 [2018-12-19 21:49:24,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:24,376 INFO L93 Difference]: Finished difference Result 57 states and 144 transitions. [2018-12-19 21:49:24,377 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:49:24,377 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:24,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:49:24,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:24,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-19 21:49:24,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:24,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-19 21:49:24,379 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2018-12-19 21:49:24,498 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:24,499 INFO L225 Difference]: With dead ends: 57 [2018-12-19 21:49:24,499 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:49:24,500 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:49:24,500 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:49:24,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 30. [2018-12-19 21:49:24,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:49:24,660 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 30 states. [2018-12-19 21:49:24,660 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 30 states. [2018-12-19 21:49:24,661 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 30 states. [2018-12-19 21:49:24,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:24,665 INFO L93 Difference]: Finished difference Result 55 states and 141 transitions. [2018-12-19 21:49:24,665 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 141 transitions. [2018-12-19 21:49:24,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:24,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:24,665 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 55 states. [2018-12-19 21:49:24,666 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 55 states. [2018-12-19 21:49:24,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:24,668 INFO L93 Difference]: Finished difference Result 55 states and 141 transitions. [2018-12-19 21:49:24,668 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 141 transitions. [2018-12-19 21:49:24,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:24,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:24,669 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:49:24,669 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:49:24,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-12-19 21:49:24,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 109 transitions. [2018-12-19 21:49:24,671 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 109 transitions. Word has length 4 [2018-12-19 21:49:24,671 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:49:24,671 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 109 transitions. [2018-12-19 21:49:24,671 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:49:24,671 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 109 transitions. [2018-12-19 21:49:24,672 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:49:24,672 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:49:24,672 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:49:24,672 INFO L423 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:49:24,672 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:24,673 INFO L82 PathProgramCache]: Analyzing trace with hash 941280, now seen corresponding path program 1 times [2018-12-19 21:49:24,673 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:49:24,673 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:24,673 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:24,674 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:24,674 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:49:24,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:24,777 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1591#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:49:24,778 INFO L273 TraceCheckUtils]: 1: Hoare triple {1591#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1592#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:49:24,779 INFO L273 TraceCheckUtils]: 2: Hoare triple {1592#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1593#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:49:24,781 INFO L273 TraceCheckUtils]: 3: Hoare triple {1593#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2018-12-19 21:49:24,781 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:24,781 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:24,781 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:49:24,782 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:49:24,782 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [27] [2018-12-19 21:49:24,783 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:49:24,783 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:49:26,718 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:49:26,719 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:49:26,719 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:26,719 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:49:26,720 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:26,720 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:49:26,730 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:26,730 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:49:26,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:26,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:26,743 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:49:26,794 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:26,795 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:49:26,855 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:26,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:26,858 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:49:26,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:26,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:26,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:26,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:26,922 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:49:27,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:27,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:27,032 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:27,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:27,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:27,036 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:27,037 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:49:27,040 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:27,058 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:27,076 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:27,093 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:27,123 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:49:27,132 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:49:27,146 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:49:27,170 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:49:27,190 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:49:27,248 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:49:27,270 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:27,672 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:27,699 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:27,718 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:27,734 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:27,748 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:27,790 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:27,790 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:49:27,808 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:27,808 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_59|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_15|]. (let ((.cse0 (store |v_#valid_15| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_59| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= 0 (select .cse2 ULTIMATE.start_main_p3)))))) [2018-12-19 21:49:27,809 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:49:27,937 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:27,938 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:49:27,942 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:27,979 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:27,980 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:49:29,995 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:29,996 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_60|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_60| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_60| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_60| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p3)))) [2018-12-19 21:49:29,996 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:49:30,091 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:30,092 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:30,094 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:30,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:30,096 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:30,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:30,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:30,100 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2018-12-19 21:49:30,104 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:30,143 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:30,143 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-19 21:49:30,285 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:30,286 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_61|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_61| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_61| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (+ (select |v_#memory_int_61| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_61| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_61| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_61| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:49:30,286 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-19 21:49:30,326 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1597#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:49:30,327 INFO L273 TraceCheckUtils]: 1: Hoare triple {1597#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1601#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))))} is VALID [2018-12-19 21:49:30,330 INFO L273 TraceCheckUtils]: 2: Hoare triple {1601#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1605#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-19 21:49:30,331 INFO L273 TraceCheckUtils]: 3: Hoare triple {1605#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2018-12-19 21:49:30,332 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:30,332 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:49:30,376 INFO L273 TraceCheckUtils]: 3: Hoare triple {1609#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2018-12-19 21:49:30,377 INFO L273 TraceCheckUtils]: 2: Hoare triple {1613#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1609#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:30,378 INFO L273 TraceCheckUtils]: 1: Hoare triple {1617#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1613#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:30,381 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1617#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:30,381 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:30,401 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:49:30,401 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:49:30,402 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:49:30,402 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:30,402 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:49:30,402 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:49:30,416 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:30,416 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:49:30,417 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:49:30,417 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:49:30,418 INFO L87 Difference]: Start difference. First operand 30 states and 109 transitions. Second operand 8 states. [2018-12-19 21:49:30,716 WARN L181 SmtUtils]: Spent 180.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 40 [2018-12-19 21:49:32,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:32,196 INFO L93 Difference]: Finished difference Result 57 states and 158 transitions. [2018-12-19 21:49:32,196 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:49:32,196 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:32,196 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:49:32,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:32,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-19 21:49:32,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:32,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-19 21:49:32,199 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 72 transitions. [2018-12-19 21:49:32,346 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:32,348 INFO L225 Difference]: With dead ends: 57 [2018-12-19 21:49:32,348 INFO L226 Difference]: Without dead ends: 53 [2018-12-19 21:49:32,349 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:49:32,349 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-12-19 21:49:32,604 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 31. [2018-12-19 21:49:32,604 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:49:32,605 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 31 states. [2018-12-19 21:49:32,605 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 31 states. [2018-12-19 21:49:32,605 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 31 states. [2018-12-19 21:49:32,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:32,609 INFO L93 Difference]: Finished difference Result 53 states and 151 transitions. [2018-12-19 21:49:32,609 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 151 transitions. [2018-12-19 21:49:32,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:32,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:32,610 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 53 states. [2018-12-19 21:49:32,610 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 53 states. [2018-12-19 21:49:32,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:32,613 INFO L93 Difference]: Finished difference Result 53 states and 151 transitions. [2018-12-19 21:49:32,613 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 151 transitions. [2018-12-19 21:49:32,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:32,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:32,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:49:32,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:49:32,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-12-19 21:49:32,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 126 transitions. [2018-12-19 21:49:32,617 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 126 transitions. Word has length 4 [2018-12-19 21:49:32,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:49:32,617 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 126 transitions. [2018-12-19 21:49:32,617 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:49:32,618 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 126 transitions. [2018-12-19 21:49:32,618 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:49:32,618 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:49:32,618 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:49:32,619 INFO L423 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:49:32,619 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:32,619 INFO L82 PathProgramCache]: Analyzing trace with hash 929872, now seen corresponding path program 1 times [2018-12-19 21:49:32,619 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:49:32,620 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:32,620 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:32,620 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:32,620 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:49:32,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:32,774 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1855#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:49:32,775 INFO L273 TraceCheckUtils]: 1: Hoare triple {1855#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1856#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (or (<= 1 (select |#memory_int| ULTIMATE.start_main_p4)) (not (= (select |#memory_int| ULTIMATE.start_main_p4) (select |#memory_int| ULTIMATE.start_main_p1)))))} is VALID [2018-12-19 21:49:32,776 INFO L273 TraceCheckUtils]: 2: Hoare triple {1856#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (or (<= 1 (select |#memory_int| ULTIMATE.start_main_p4)) (not (= (select |#memory_int| ULTIMATE.start_main_p4) (select |#memory_int| ULTIMATE.start_main_p1)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:32,777 INFO L273 TraceCheckUtils]: 3: Hoare triple {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2018-12-19 21:49:32,777 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:32,777 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:32,777 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:49:32,778 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:49:32,778 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [27] [2018-12-19 21:49:32,779 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:49:32,779 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:49:33,645 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:49:33,645 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:49:33,645 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:33,646 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:49:33,646 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:33,646 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:49:33,654 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:33,654 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:49:33,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:33,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:33,665 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:49:33,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:33,728 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:49:33,797 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:33,799 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:33,800 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:49:33,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:33,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:33,893 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:33,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:33,895 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:49:33,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:33,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,000 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,007 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:49:34,011 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,033 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,064 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,086 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,116 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:49:34,126 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:49:34,138 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:49:34,154 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:49:34,173 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:49:34,196 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:49:34,204 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,232 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,255 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,273 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,289 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,303 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,348 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:34,349 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-19 21:49:34,378 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:34,378 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_16|]. (let ((.cse2 (store |v_#valid_16| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_64| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)))))) [2018-12-19 21:49:34,379 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:49:34,480 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,481 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:49:34,485 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,527 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:34,528 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:49:34,543 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:34,543 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_65|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_65| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_65| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_65| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_65| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_65| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (= 0 (select |v_#memory_int_65| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:49:34,543 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:49:34,656 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,678 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,700 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,723 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,736 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,740 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:34,741 INFO L303 Elim1Store]: Index analysis took 121 ms [2018-12-19 21:49:34,742 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 78 [2018-12-19 21:49:34,745 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:34,788 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:34,788 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2018-12-19 21:49:35,200 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:35,201 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_66|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_66| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_66| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_66| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_66| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_66| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_66| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:49:35,201 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:49:35,237 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1861#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:49:35,240 INFO L273 TraceCheckUtils]: 1: Hoare triple {1861#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1865#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:49:35,243 INFO L273 TraceCheckUtils]: 2: Hoare triple {1865#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1869#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:49:35,245 INFO L273 TraceCheckUtils]: 3: Hoare triple {1869#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2018-12-19 21:49:35,245 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:35,245 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:49:35,273 INFO L273 TraceCheckUtils]: 3: Hoare triple {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2018-12-19 21:49:35,274 INFO L273 TraceCheckUtils]: 2: Hoare triple {1876#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:35,275 INFO L273 TraceCheckUtils]: 1: Hoare triple {1880#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1876#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:35,277 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1880#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:35,278 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:35,296 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:49:35,296 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:49:35,297 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:49:35,297 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:35,297 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:49:35,297 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:49:35,309 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:35,310 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:49:35,310 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:49:35,310 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:49:35,310 INFO L87 Difference]: Start difference. First operand 31 states and 126 transitions. Second operand 8 states. [2018-12-19 21:49:36,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:36,325 INFO L93 Difference]: Finished difference Result 73 states and 228 transitions. [2018-12-19 21:49:36,325 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:49:36,325 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:36,325 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:49:36,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:36,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 92 transitions. [2018-12-19 21:49:36,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:36,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 92 transitions. [2018-12-19 21:49:36,328 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 92 transitions. [2018-12-19 21:49:36,517 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:36,519 INFO L225 Difference]: With dead ends: 73 [2018-12-19 21:49:36,519 INFO L226 Difference]: Without dead ends: 71 [2018-12-19 21:49:36,520 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:49:36,520 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-12-19 21:49:36,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 40. [2018-12-19 21:49:36,755 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:49:36,755 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 40 states. [2018-12-19 21:49:36,755 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 40 states. [2018-12-19 21:49:36,756 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 40 states. [2018-12-19 21:49:36,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:36,759 INFO L93 Difference]: Finished difference Result 71 states and 222 transitions. [2018-12-19 21:49:36,759 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 222 transitions. [2018-12-19 21:49:36,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:36,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:36,760 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 71 states. [2018-12-19 21:49:36,760 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 71 states. [2018-12-19 21:49:36,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:36,762 INFO L93 Difference]: Finished difference Result 71 states and 222 transitions. [2018-12-19 21:49:36,762 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 222 transitions. [2018-12-19 21:49:36,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:36,763 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:36,763 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:49:36,763 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:49:36,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-12-19 21:49:36,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 173 transitions. [2018-12-19 21:49:36,765 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 173 transitions. Word has length 4 [2018-12-19 21:49:36,765 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:49:36,765 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 173 transitions. [2018-12-19 21:49:36,765 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:49:36,765 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 173 transitions. [2018-12-19 21:49:36,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:49:36,766 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:49:36,766 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:49:36,766 INFO L423 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:49:36,766 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:36,767 INFO L82 PathProgramCache]: Analyzing trace with hash 930184, now seen corresponding path program 1 times [2018-12-19 21:49:36,767 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:49:36,767 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:36,767 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:36,768 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:36,768 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:49:36,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:36,853 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2188#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:49:36,854 INFO L273 TraceCheckUtils]: 1: Hoare triple {2188#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:49:36,855 INFO L273 TraceCheckUtils]: 2: Hoare triple {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:49:36,855 INFO L273 TraceCheckUtils]: 3: Hoare triple {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2018-12-19 21:49:36,856 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:36,856 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:36,856 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:49:36,856 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:49:36,857 INFO L207 CegarAbsIntRunner]: [0], [6], [28], [29] [2018-12-19 21:49:36,859 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:49:36,859 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:49:37,474 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:49:37,475 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:49:37,475 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:37,475 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:49:37,475 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:37,475 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:49:37,483 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:37,484 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:49:37,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:37,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:37,496 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:49:37,553 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:49:37,561 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:49:37,581 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,590 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,591 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:49:37,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,607 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:49:37,625 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,627 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,631 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,632 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:49:37,661 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:49:37,668 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:37,700 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:37,726 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:37,747 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:37,764 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:37,779 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:37,811 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,812 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:49:37,868 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,869 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,870 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:49:37,935 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,938 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,939 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:37,940 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:49:38,020 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:38,021 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:38,024 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:38,025 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:38,026 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:38,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:38,028 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:49:38,032 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:38,052 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:38,071 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:38,088 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:38,140 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:38,140 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-19 21:49:38,163 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:38,164 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_69|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_17|]. (let ((.cse2 (store |v_#valid_17| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_69| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)))))) [2018-12-19 21:49:38,164 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:49:38,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:38,281 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:49:38,287 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:38,333 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:38,333 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-19 21:49:40,383 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:40,384 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_70| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 .cse0) (= (store |v_#memory_int_70| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:49:40,384 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:49:40,467 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2193#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:49:40,469 INFO L273 TraceCheckUtils]: 1: Hoare triple {2193#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:49:40,471 INFO L273 TraceCheckUtils]: 2: Hoare triple {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:49:40,472 INFO L273 TraceCheckUtils]: 3: Hoare triple {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2018-12-19 21:49:40,472 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:40,473 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:49:40,497 INFO L273 TraceCheckUtils]: 3: Hoare triple {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2018-12-19 21:49:40,504 INFO L273 TraceCheckUtils]: 2: Hoare triple {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:49:40,505 INFO L273 TraceCheckUtils]: 1: Hoare triple {2211#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:49:40,507 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2211#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:49:40,507 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:40,528 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:49:40,528 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:49:40,528 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:49:40,528 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:49:40,528 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:49:40,528 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:49:40,542 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:40,543 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:49:40,543 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:49:40,543 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:49:40,543 INFO L87 Difference]: Start difference. First operand 40 states and 173 transitions. Second operand 6 states. [2018-12-19 21:49:41,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:41,350 INFO L93 Difference]: Finished difference Result 56 states and 192 transitions. [2018-12-19 21:49:41,350 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:49:41,350 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:49:41,350 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:49:41,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:49:41,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2018-12-19 21:49:41,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:49:41,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2018-12-19 21:49:41,352 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2018-12-19 21:49:41,525 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:41,527 INFO L225 Difference]: With dead ends: 56 [2018-12-19 21:49:41,527 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:49:41,528 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-19 21:49:41,528 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:49:41,813 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 42. [2018-12-19 21:49:41,813 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:49:41,813 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 42 states. [2018-12-19 21:49:41,814 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 42 states. [2018-12-19 21:49:41,814 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 42 states. [2018-12-19 21:49:41,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:41,817 INFO L93 Difference]: Finished difference Result 55 states and 190 transitions. [2018-12-19 21:49:41,817 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 190 transitions. [2018-12-19 21:49:41,817 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:41,817 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:41,817 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 55 states. [2018-12-19 21:49:41,817 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 55 states. [2018-12-19 21:49:41,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:41,819 INFO L93 Difference]: Finished difference Result 55 states and 190 transitions. [2018-12-19 21:49:41,820 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 190 transitions. [2018-12-19 21:49:41,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:41,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:41,820 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:49:41,820 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:49:41,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-12-19 21:49:41,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 180 transitions. [2018-12-19 21:49:41,822 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 180 transitions. Word has length 4 [2018-12-19 21:49:41,822 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:49:41,822 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 180 transitions. [2018-12-19 21:49:41,822 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:49:41,823 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 180 transitions. [2018-12-19 21:49:41,823 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:49:41,823 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:49:41,823 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:49:41,823 INFO L423 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:49:41,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:41,824 INFO L82 PathProgramCache]: Analyzing trace with hash 945434, now seen corresponding path program 1 times [2018-12-19 21:49:41,824 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:49:41,825 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:41,825 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:41,825 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:41,825 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:49:41,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:42,005 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2472#(and (or (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} is VALID [2018-12-19 21:49:42,007 INFO L273 TraceCheckUtils]: 1: Hoare triple {2472#(and (or (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2473#(or (and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6))) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:49:42,007 INFO L273 TraceCheckUtils]: 2: Hoare triple {2473#(or (and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6))) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:42,008 INFO L273 TraceCheckUtils]: 3: Hoare triple {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2018-12-19 21:49:42,008 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:42,008 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:42,008 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:49:42,009 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:49:42,009 INFO L207 CegarAbsIntRunner]: [0], [22], [24], [27] [2018-12-19 21:49:42,017 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:49:42,017 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:49:42,992 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:49:42,992 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:49:42,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:42,992 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:49:42,992 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:42,993 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:49:43,000 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:43,001 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:49:43,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:43,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:43,009 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:49:43,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,075 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:49:43,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,136 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:49:43,202 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,204 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,209 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:49:43,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,293 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,301 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,302 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:49:43,429 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,455 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,478 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,502 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,517 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,521 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:43,522 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:49:43,524 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:43,574 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:43,607 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:43,643 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:43,677 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:43,745 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:49:43,756 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:49:43,781 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:49:43,798 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:49:43,820 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:49:43,847 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:49:43,850 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:43,889 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:43,920 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:43,951 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:43,970 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:43,987 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:44,059 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:44,059 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-19 21:49:44,070 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:44,071 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_72|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_18|]. (let ((.cse0 (store |v_#valid_18| ULTIMATE.start_main_p1 1))) (let ((.cse3 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p3 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= 0 (select (store .cse2 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse2 ULTIMATE.start_main_p5) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_72| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= 0 (select .cse3 ULTIMATE.start_main_p3))))))) [2018-12-19 21:49:44,071 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:49:44,314 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:44,315 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-19 21:49:44,319 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:44,459 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:44,459 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-19 21:49:46,507 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:46,507 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_73|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_73| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_73| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_73| ULTIMATE.start_main_p5 (+ .cse0 1))) (= .cse0 0) (= (select |v_#memory_int_73| ULTIMATE.start_main_p6) 0) (= (select |v_#memory_int_73| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:49:46,508 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:49:46,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:46,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:46,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:46,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:46,627 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:46,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:46,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:46,631 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:46,632 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 111 [2018-12-19 21:49:46,645 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:46,705 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:46,705 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:81, output treesize:55 [2018-12-19 21:49:48,801 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:48,801 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_74|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_74| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_74| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_74| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_74| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p5) 1) (= .cse0 0))) [2018-12-19 21:49:48,801 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:49:48,854 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2478#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2018-12-19 21:49:48,857 INFO L273 TraceCheckUtils]: 1: Hoare triple {2478#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2482#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:49:48,859 INFO L273 TraceCheckUtils]: 2: Hoare triple {2482#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2486#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:49:48,860 INFO L273 TraceCheckUtils]: 3: Hoare triple {2486#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2018-12-19 21:49:48,860 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:48,860 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:49:48,898 INFO L273 TraceCheckUtils]: 3: Hoare triple {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2018-12-19 21:49:48,900 INFO L273 TraceCheckUtils]: 2: Hoare triple {2493#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:48,901 INFO L273 TraceCheckUtils]: 1: Hoare triple {2497#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2493#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:48,904 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2497#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:48,904 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:48,928 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:49:48,928 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:49:48,928 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:49:48,928 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:48,928 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:49:48,928 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:49:48,944 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:48,944 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:49:48,944 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:49:48,944 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=54, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:49:48,945 INFO L87 Difference]: Start difference. First operand 42 states and 180 transitions. Second operand 8 states. [2018-12-19 21:49:53,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:53,044 INFO L93 Difference]: Finished difference Result 96 states and 313 transitions. [2018-12-19 21:49:53,044 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:49:53,044 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:53,045 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:49:53,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:53,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2018-12-19 21:49:53,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:49:53,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2018-12-19 21:49:53,046 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 99 transitions. [2018-12-19 21:49:53,223 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:53,225 INFO L225 Difference]: With dead ends: 96 [2018-12-19 21:49:53,225 INFO L226 Difference]: Without dead ends: 93 [2018-12-19 21:49:53,226 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=52, Invalid=80, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:49:53,226 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2018-12-19 21:49:53,621 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 55. [2018-12-19 21:49:53,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:49:53,622 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand 55 states. [2018-12-19 21:49:53,622 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 55 states. [2018-12-19 21:49:53,622 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 55 states. [2018-12-19 21:49:53,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:53,626 INFO L93 Difference]: Finished difference Result 93 states and 305 transitions. [2018-12-19 21:49:53,626 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 305 transitions. [2018-12-19 21:49:53,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:53,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:53,627 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 93 states. [2018-12-19 21:49:53,627 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 93 states. [2018-12-19 21:49:53,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:49:53,631 INFO L93 Difference]: Finished difference Result 93 states and 305 transitions. [2018-12-19 21:49:53,631 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 305 transitions. [2018-12-19 21:49:53,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:49:53,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:49:53,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:49:53,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:49:53,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-12-19 21:49:53,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 250 transitions. [2018-12-19 21:49:53,634 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 250 transitions. Word has length 4 [2018-12-19 21:49:53,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:49:53,634 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 250 transitions. [2018-12-19 21:49:53,635 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:49:53,635 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 250 transitions. [2018-12-19 21:49:53,635 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:49:53,635 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:49:53,635 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:49:53,636 INFO L423 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:49:53,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:53,636 INFO L82 PathProgramCache]: Analyzing trace with hash 945000, now seen corresponding path program 1 times [2018-12-19 21:49:53,636 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:49:53,637 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:53,637 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:53,637 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:49:53,637 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:49:53,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:54,096 WARN L181 SmtUtils]: Spent 271.00 ms on a formula simplification. DAG size of input: 21 DAG size of output: 14 [2018-12-19 21:49:54,177 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2911#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:49:54,180 INFO L273 TraceCheckUtils]: 1: Hoare triple {2911#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2912#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:49:54,181 INFO L273 TraceCheckUtils]: 2: Hoare triple {2912#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2913#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:49:54,182 INFO L273 TraceCheckUtils]: 3: Hoare triple {2913#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2018-12-19 21:49:54,182 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:54,182 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:54,182 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:49:54,182 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:49:54,183 INFO L207 CegarAbsIntRunner]: [0], [10], [22], [27] [2018-12-19 21:49:54,183 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:49:54,184 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:49:55,191 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:49:55,191 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:49:55,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:49:55,192 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:49:55,192 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:49:55,192 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:49:55,200 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:49:55,201 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:49:55,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:55,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:49:55,210 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:49:55,275 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:49:55,284 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:49:55,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,296 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,297 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:49:55,312 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,314 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,315 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,316 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:49:55,337 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,342 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,343 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:49:55,379 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:49:55,385 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:55,422 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:55,452 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:55,476 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:55,494 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:55,510 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:55,550 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,551 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:49:55,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,617 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:49:55,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,691 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,693 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:49:55,782 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,784 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,785 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,787 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,788 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,789 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:55,790 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:49:55,795 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:55,816 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:55,837 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:55,892 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:49:55,934 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:55,934 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:49:55,948 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:55,949 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_77|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, |v_#valid_19|]. (let ((.cse2 (store |v_#valid_19| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_77| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p2) 0))))) [2018-12-19 21:49:55,949 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:49:56,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:56,058 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:49:56,061 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:56,101 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:56,102 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:49:57,385 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:57,386 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_78| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_78| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_78| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_78| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_78| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_78| ULTIMATE.start_main_p5 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:49:57,386 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:49:57,457 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:57,458 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:57,460 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:57,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:57,462 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:57,463 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:57,464 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:49:57,465 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2018-12-19 21:49:57,468 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:49:57,514 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:49:57,515 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2018-12-19 21:49:57,553 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:49:57,554 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_79|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_79| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_79| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p5) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:49:57,554 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:49:57,584 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2917#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:49:57,585 INFO L273 TraceCheckUtils]: 1: Hoare triple {2917#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2921#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:49:57,587 INFO L273 TraceCheckUtils]: 2: Hoare triple {2921#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2925#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:49:57,588 INFO L273 TraceCheckUtils]: 3: Hoare triple {2925#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2018-12-19 21:49:57,588 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:57,588 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:49:57,631 INFO L273 TraceCheckUtils]: 3: Hoare triple {2929#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2018-12-19 21:49:57,632 INFO L273 TraceCheckUtils]: 2: Hoare triple {2933#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2929#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:57,633 INFO L273 TraceCheckUtils]: 1: Hoare triple {2937#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2933#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:57,634 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2937#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:49:57,635 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:49:57,653 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:49:57,654 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:49:57,654 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:49:57,654 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:49:57,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:49:57,654 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:49:57,667 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:49:57,668 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:49:57,668 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:49:57,668 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:49:57,669 INFO L87 Difference]: Start difference. First operand 55 states and 250 transitions. Second operand 8 states. [2018-12-19 21:50:01,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:01,461 INFO L93 Difference]: Finished difference Result 84 states and 299 transitions. [2018-12-19 21:50:01,461 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:50:01,461 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:50:01,461 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:50:01,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:50:01,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-19 21:50:01,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:50:01,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-19 21:50:01,462 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 72 transitions. [2018-12-19 21:50:01,579 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:01,581 INFO L225 Difference]: With dead ends: 84 [2018-12-19 21:50:01,582 INFO L226 Difference]: Without dead ends: 82 [2018-12-19 21:50:01,582 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=69, Invalid=113, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:50:01,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2018-12-19 21:50:01,957 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 58. [2018-12-19 21:50:01,957 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:50:01,958 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 58 states. [2018-12-19 21:50:01,958 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 58 states. [2018-12-19 21:50:01,958 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 58 states. [2018-12-19 21:50:01,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:01,962 INFO L93 Difference]: Finished difference Result 82 states and 295 transitions. [2018-12-19 21:50:01,962 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 295 transitions. [2018-12-19 21:50:01,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:01,963 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:01,963 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 82 states. [2018-12-19 21:50:01,963 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 82 states. [2018-12-19 21:50:01,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:01,966 INFO L93 Difference]: Finished difference Result 82 states and 295 transitions. [2018-12-19 21:50:01,966 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 295 transitions. [2018-12-19 21:50:01,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:01,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:01,967 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:50:01,967 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:50:01,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-12-19 21:50:01,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 270 transitions. [2018-12-19 21:50:01,969 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 270 transitions. Word has length 4 [2018-12-19 21:50:01,970 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:50:01,970 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 270 transitions. [2018-12-19 21:50:01,970 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:50:01,970 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 270 transitions. [2018-12-19 21:50:01,970 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:50:01,970 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:50:01,970 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:50:01,971 INFO L423 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:50:01,971 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:01,971 INFO L82 PathProgramCache]: Analyzing trace with hash 946922, now seen corresponding path program 1 times [2018-12-19 21:50:01,971 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:50:01,972 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:01,972 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:01,972 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:01,972 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:50:01,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:02,131 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3325#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:50:02,132 INFO L273 TraceCheckUtils]: 1: Hoare triple {3325#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3326#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:50:02,133 INFO L273 TraceCheckUtils]: 2: Hoare triple {3326#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3327#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:50:02,134 INFO L273 TraceCheckUtils]: 3: Hoare triple {3327#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2018-12-19 21:50:02,134 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:02,135 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:02,135 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:50:02,135 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:50:02,135 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [27] [2018-12-19 21:50:02,136 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:50:02,137 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:50:03,003 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:50:03,003 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:50:03,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:03,004 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:50:03,004 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:03,004 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:50:03,014 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:03,014 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:50:03,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:03,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:03,039 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:50:03,106 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:50:03,115 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:50:03,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,126 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,127 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:50:03,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,149 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,150 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:50:03,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,173 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:50:03,197 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,199 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,200 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,201 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,203 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,204 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:50:03,210 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:03,256 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:03,279 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:03,301 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:03,318 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:03,334 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:03,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,374 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:50:03,437 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,438 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,439 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:50:03,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,514 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,515 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:50:03,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,611 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:50:03,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,723 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,724 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,726 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,727 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,729 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:03,730 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:50:03,734 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:03,763 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:03,792 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:03,821 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:03,850 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:03,909 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:03,909 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-19 21:50:03,921 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:03,921 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_82|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_20|]. (let ((.cse0 (store |v_#valid_20| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p5) 0) (= (store (store (store (store (store (store |v_#memory_int_82| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= 0 (select .cse3 ULTIMATE.start_main_p4)) (= (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0)))))) [2018-12-19 21:50:03,922 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:50:04,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:04,072 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-19 21:50:04,078 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:04,139 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:04,139 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-19 21:50:06,306 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:06,306 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_83|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_83| ULTIMATE.start_main_p6))) (and (= 0 .cse0) (= (select |v_#memory_int_83| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_83| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_83| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:50:06,307 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:50:06,466 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:06,467 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:06,468 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:06,469 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:06,470 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:06,471 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:06,473 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:06,473 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:50:06,474 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 112 [2018-12-19 21:50:06,480 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:06,542 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:06,543 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2018-12-19 21:50:06,870 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:06,870 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_84|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_84| ULTIMATE.start_main_p2))) (and (= (+ (select |v_#memory_int_84| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_84| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_84| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_84| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2018-12-19 21:50:06,871 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:50:06,920 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3331#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:50:06,923 INFO L273 TraceCheckUtils]: 1: Hoare triple {3331#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3335#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:50:06,925 INFO L273 TraceCheckUtils]: 2: Hoare triple {3335#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3339#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))))} is VALID [2018-12-19 21:50:06,926 INFO L273 TraceCheckUtils]: 3: Hoare triple {3339#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))))} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2018-12-19 21:50:06,927 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:06,927 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:50:06,969 INFO L273 TraceCheckUtils]: 3: Hoare triple {3343#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2018-12-19 21:50:06,970 INFO L273 TraceCheckUtils]: 2: Hoare triple {3347#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3343#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:06,971 INFO L273 TraceCheckUtils]: 1: Hoare triple {3351#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3347#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:06,974 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3351#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:06,974 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:06,996 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:50:06,996 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:50:06,996 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:50:06,996 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:50:06,996 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:50:06,996 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:50:07,009 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:07,009 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:50:07,009 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:50:07,010 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:50:07,010 INFO L87 Difference]: Start difference. First operand 58 states and 270 transitions. Second operand 8 states. [2018-12-19 21:50:11,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:11,776 INFO L93 Difference]: Finished difference Result 91 states and 313 transitions. [2018-12-19 21:50:11,776 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:50:11,777 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:50:11,777 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:50:11,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:50:11,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2018-12-19 21:50:11,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:50:11,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2018-12-19 21:50:11,778 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2018-12-19 21:50:12,218 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:12,220 INFO L225 Difference]: With dead ends: 91 [2018-12-19 21:50:12,220 INFO L226 Difference]: Without dead ends: 89 [2018-12-19 21:50:12,220 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:50:12,221 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-12-19 21:50:12,733 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 59. [2018-12-19 21:50:12,734 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:50:12,734 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand 59 states. [2018-12-19 21:50:12,734 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 59 states. [2018-12-19 21:50:12,734 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 59 states. [2018-12-19 21:50:12,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:12,737 INFO L93 Difference]: Finished difference Result 89 states and 310 transitions. [2018-12-19 21:50:12,737 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 310 transitions. [2018-12-19 21:50:12,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:12,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:12,738 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 89 states. [2018-12-19 21:50:12,738 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 89 states. [2018-12-19 21:50:12,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:12,741 INFO L93 Difference]: Finished difference Result 89 states and 310 transitions. [2018-12-19 21:50:12,741 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 310 transitions. [2018-12-19 21:50:12,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:12,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:12,742 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:50:12,742 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:50:12,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-12-19 21:50:12,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 277 transitions. [2018-12-19 21:50:12,744 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 277 transitions. Word has length 4 [2018-12-19 21:50:12,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:50:12,744 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 277 transitions. [2018-12-19 21:50:12,744 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:50:12,744 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 277 transitions. [2018-12-19 21:50:12,745 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:50:12,745 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:50:12,745 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:50:12,745 INFO L423 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:50:12,745 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:12,746 INFO L82 PathProgramCache]: Analyzing trace with hash 934028, now seen corresponding path program 1 times [2018-12-19 21:50:12,746 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:50:12,746 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:12,746 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:12,747 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:12,747 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:50:12,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:12,879 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3761#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:12,880 INFO L273 TraceCheckUtils]: 1: Hoare triple {3761#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:12,881 INFO L273 TraceCheckUtils]: 2: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:12,881 INFO L273 TraceCheckUtils]: 3: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2018-12-19 21:50:12,882 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:12,882 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:12,882 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:50:12,882 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:50:12,882 INFO L207 CegarAbsIntRunner]: [0], [10], [28], [29] [2018-12-19 21:50:12,884 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:50:12,884 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:50:13,469 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:50:13,469 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:50:13,470 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:13,470 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:50:13,470 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:13,470 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:50:13,479 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:13,479 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:50:13,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:13,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:13,488 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:50:13,519 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:50:13,525 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2018-12-19 21:50:13,538 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,540 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,541 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 36 [2018-12-19 21:50:13,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,555 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,558 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2018-12-19 21:50:13,573 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,576 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,578 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,579 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,580 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 68 [2018-12-19 21:50:13,605 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 9 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 67 [2018-12-19 21:50:13,609 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:13,640 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:13,684 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:13,702 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:13,717 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:13,732 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:13,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-19 21:50:13,784 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,786 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,787 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-19 21:50:13,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,842 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,844 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-19 21:50:13,908 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,909 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,910 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,911 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,915 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:13,916 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-19 21:50:13,918 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:13,935 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:13,951 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:13,968 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:14,009 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:14,009 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 7 variables, input treesize:64, output treesize:67 [2018-12-19 21:50:14,087 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:14,088 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_87|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_21|]. (let ((.cse0 (store (store |v_#valid_21| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store (store |v_#memory_int_87| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4))))) [2018-12-19 21:50:14,088 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:50:14,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:14,190 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:50:14,193 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-19 21:50:14,307 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 7 dim-0 vars, and 2 xjuncts. [2018-12-19 21:50:14,308 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:92 [2018-12-19 21:50:16,337 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:16,338 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_88| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_88| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_88| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (select |v_#memory_int_88| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (store |v_#memory_int_88| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_88| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:50:16,338 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, v_prenex_3, v_prenex_1, v_prenex_2]. (let ((.cse0 (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) .cse0 (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (not (= v_prenex_3 v_prenex_1)) (not (= v_prenex_3 v_prenex_2)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_3 ULTIMATE.start_main_p2)) .cse0 (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_2 v_prenex_1)) (= (select |#memory_int| v_prenex_3) 0) (= (select |#memory_int| v_prenex_1) 0)))) [2018-12-19 21:50:16,587 WARN L181 SmtUtils]: Spent 215.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 29 [2018-12-19 21:50:16,613 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3766#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:50:16,615 INFO L273 TraceCheckUtils]: 1: Hoare triple {3766#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:50:16,616 INFO L273 TraceCheckUtils]: 2: Hoare triple {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:50:16,617 INFO L273 TraceCheckUtils]: 3: Hoare triple {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2018-12-19 21:50:16,617 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:16,617 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:50:16,631 INFO L273 TraceCheckUtils]: 3: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2018-12-19 21:50:16,631 INFO L273 TraceCheckUtils]: 2: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:16,632 INFO L273 TraceCheckUtils]: 1: Hoare triple {3783#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:16,633 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3783#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:50:16,633 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:16,652 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-19 21:50:16,652 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2018-12-19 21:50:16,652 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:50:16,653 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-19 21:50:16,653 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:50:16,653 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:50:16,656 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:16,657 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:50:16,657 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:50:16,657 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:50:16,657 INFO L87 Difference]: Start difference. First operand 59 states and 277 transitions. Second operand 4 states. [2018-12-19 21:50:17,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:17,194 INFO L93 Difference]: Finished difference Result 90 states and 454 transitions. [2018-12-19 21:50:17,194 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-12-19 21:50:17,194 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-19 21:50:17,194 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:50:17,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:50:17,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2018-12-19 21:50:17,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:50:17,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2018-12-19 21:50:17,195 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 38 transitions. [2018-12-19 21:50:17,229 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:17,231 INFO L225 Difference]: With dead ends: 90 [2018-12-19 21:50:17,232 INFO L226 Difference]: Without dead ends: 89 [2018-12-19 21:50:17,232 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:50:17,232 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-12-19 21:50:17,726 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 83. [2018-12-19 21:50:17,726 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:50:17,727 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand 83 states. [2018-12-19 21:50:17,727 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 83 states. [2018-12-19 21:50:17,727 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 83 states. [2018-12-19 21:50:17,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:17,730 INFO L93 Difference]: Finished difference Result 89 states and 453 transitions. [2018-12-19 21:50:17,730 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 453 transitions. [2018-12-19 21:50:17,730 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:17,730 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:17,731 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 89 states. [2018-12-19 21:50:17,732 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 89 states. [2018-12-19 21:50:17,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:17,735 INFO L93 Difference]: Finished difference Result 89 states and 453 transitions. [2018-12-19 21:50:17,735 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 453 transitions. [2018-12-19 21:50:17,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:17,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:17,736 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:50:17,736 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:50:17,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 83 states. [2018-12-19 21:50:17,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 449 transitions. [2018-12-19 21:50:17,739 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 449 transitions. Word has length 4 [2018-12-19 21:50:17,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:50:17,739 INFO L480 AbstractCegarLoop]: Abstraction has 83 states and 449 transitions. [2018-12-19 21:50:17,740 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:50:17,740 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 449 transitions. [2018-12-19 21:50:17,740 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:50:17,740 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:50:17,740 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:50:17,741 INFO L423 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:50:17,741 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:17,741 INFO L82 PathProgramCache]: Analyzing trace with hash 933592, now seen corresponding path program 1 times [2018-12-19 21:50:17,741 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:50:17,742 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:17,742 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:17,742 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:17,742 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:50:17,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:17,936 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4259#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:50:17,937 INFO L273 TraceCheckUtils]: 1: Hoare triple {4259#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4260#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:50:17,938 INFO L273 TraceCheckUtils]: 2: Hoare triple {4260#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4261#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:50:17,939 INFO L273 TraceCheckUtils]: 3: Hoare triple {4261#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2018-12-19 21:50:17,939 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:17,940 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:17,940 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:50:17,940 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:50:17,940 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [27] [2018-12-19 21:50:17,941 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:50:17,942 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:50:19,863 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:50:19,863 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:50:19,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:19,864 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:50:19,864 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:19,864 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:50:19,872 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:19,872 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:50:19,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:19,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:19,880 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:50:19,957 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:19,958 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:50:20,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,035 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:50:20,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,136 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:50:20,241 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,243 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,246 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,248 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,250 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,251 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:50:20,254 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:20,277 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:20,299 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:20,322 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:20,355 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:50:20,366 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:50:20,380 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:50:20,397 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:50:20,434 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:50:20,461 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:50:20,465 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:20,494 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:20,516 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:20,532 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:20,546 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:20,560 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:20,601 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:20,601 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:50:20,610 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:20,610 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_90|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_22|]. (let ((.cse0 (store |v_#valid_22| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_90| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p4)))))) [2018-12-19 21:50:20,610 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:50:20,723 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:20,724 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:50:20,729 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:20,768 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:20,769 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:50:22,820 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:22,820 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_91|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_91| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_91| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_91| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-19 21:50:22,821 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:50:22,906 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:22,907 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:22,908 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:22,909 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:22,911 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:22,912 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:22,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:22,914 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2018-12-19 21:50:22,919 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:22,957 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:22,958 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-19 21:50:24,984 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:24,984 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_92|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_92| ULTIMATE.start_main_p3))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_92| ULTIMATE.start_main_p2) 1) 0) (= (store |v_#memory_int_92| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_92| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_92| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_92| ULTIMATE.start_main_p4) 0))) [2018-12-19 21:50:24,984 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:50:25,043 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4265#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:50:25,046 INFO L273 TraceCheckUtils]: 1: Hoare triple {4265#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:50:25,048 INFO L273 TraceCheckUtils]: 2: Hoare triple {4269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-19 21:50:25,049 INFO L273 TraceCheckUtils]: 3: Hoare triple {4273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2018-12-19 21:50:25,050 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:25,050 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:50:25,114 INFO L273 TraceCheckUtils]: 3: Hoare triple {4277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2018-12-19 21:50:25,114 INFO L273 TraceCheckUtils]: 2: Hoare triple {4281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:25,116 INFO L273 TraceCheckUtils]: 1: Hoare triple {4285#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:25,118 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4285#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:25,119 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:25,139 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:50:25,139 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:50:25,139 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:50:25,139 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:50:25,139 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:50:25,139 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:50:25,155 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:25,155 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:50:25,155 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:50:25,155 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:50:25,155 INFO L87 Difference]: Start difference. First operand 83 states and 449 transitions. Second operand 8 states. [2018-12-19 21:50:27,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:27,468 INFO L93 Difference]: Finished difference Result 121 states and 532 transitions. [2018-12-19 21:50:27,469 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:50:27,469 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:50:27,469 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:50:27,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:50:27,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-19 21:50:27,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:50:27,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-19 21:50:27,470 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2018-12-19 21:50:27,605 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:27,609 INFO L225 Difference]: With dead ends: 121 [2018-12-19 21:50:27,609 INFO L226 Difference]: Without dead ends: 119 [2018-12-19 21:50:27,610 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:50:27,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2018-12-19 21:50:28,203 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 91. [2018-12-19 21:50:28,204 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:50:28,204 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand 91 states. [2018-12-19 21:50:28,204 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 91 states. [2018-12-19 21:50:28,204 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 91 states. [2018-12-19 21:50:28,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:28,208 INFO L93 Difference]: Finished difference Result 119 states and 524 transitions. [2018-12-19 21:50:28,208 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 524 transitions. [2018-12-19 21:50:28,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:28,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:28,209 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 119 states. [2018-12-19 21:50:28,209 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 119 states. [2018-12-19 21:50:28,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:28,212 INFO L93 Difference]: Finished difference Result 119 states and 524 transitions. [2018-12-19 21:50:28,212 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 524 transitions. [2018-12-19 21:50:28,212 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:28,212 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:28,212 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:50:28,212 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:50:28,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-12-19 21:50:28,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 493 transitions. [2018-12-19 21:50:28,215 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 493 transitions. Word has length 4 [2018-12-19 21:50:28,215 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:50:28,215 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 493 transitions. [2018-12-19 21:50:28,215 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:50:28,215 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 493 transitions. [2018-12-19 21:50:28,216 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:50:28,216 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:50:28,216 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:50:28,216 INFO L423 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:50:28,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:28,216 INFO L82 PathProgramCache]: Analyzing trace with hash 937872, now seen corresponding path program 1 times [2018-12-19 21:50:28,216 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:50:28,217 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:28,217 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:28,217 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:28,217 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:50:28,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:28,285 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4877#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:50:28,287 INFO L273 TraceCheckUtils]: 1: Hoare triple {4877#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:28,287 INFO L273 TraceCheckUtils]: 2: Hoare triple {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:28,288 INFO L273 TraceCheckUtils]: 3: Hoare triple {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2018-12-19 21:50:28,288 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:28,289 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:28,289 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:50:28,289 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:50:28,290 INFO L207 CegarAbsIntRunner]: [0], [14], [28], [29] [2018-12-19 21:50:28,291 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:50:28,291 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:50:28,860 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:50:28,860 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:50:28,861 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:28,861 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:50:28,861 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:28,861 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:50:28,870 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:28,870 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:50:28,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:28,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:28,879 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:50:28,900 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:50:28,912 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2018-12-19 21:50:28,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:28,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:28,924 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 36 [2018-12-19 21:50:28,937 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:28,939 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:28,940 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:28,941 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2018-12-19 21:50:28,956 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:28,959 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:28,960 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:28,962 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:28,963 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 68 [2018-12-19 21:50:28,992 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 9 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 67 [2018-12-19 21:50:28,996 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:29,028 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:29,050 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:29,070 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:29,084 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:29,100 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:29,126 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-19 21:50:29,153 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,155 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,156 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-19 21:50:29,210 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,215 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,216 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-19 21:50:29,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,287 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,288 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,291 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-19 21:50:29,294 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:29,311 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:29,325 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:29,344 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:29,385 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:29,385 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:64, output treesize:67 [2018-12-19 21:50:29,407 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:29,408 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_95|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_23|]. (let ((.cse0 (store (store |v_#valid_23| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (select .cse1 ULTIMATE.start_main_p4) 0) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_95| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0))))) [2018-12-19 21:50:29,408 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:50:29,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:29,514 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 68 [2018-12-19 21:50:29,518 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:29,553 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:29,554 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:46 [2018-12-19 21:50:29,582 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:29,583 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_96|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_96| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_96| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_96| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:50:29,583 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:50:29,772 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4882#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:50:29,775 INFO L273 TraceCheckUtils]: 1: Hoare triple {4882#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:50:29,775 INFO L273 TraceCheckUtils]: 2: Hoare triple {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:50:29,776 INFO L273 TraceCheckUtils]: 3: Hoare triple {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2018-12-19 21:50:29,777 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:29,777 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:50:29,801 INFO L273 TraceCheckUtils]: 3: Hoare triple {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2018-12-19 21:50:29,802 INFO L273 TraceCheckUtils]: 2: Hoare triple {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:29,803 INFO L273 TraceCheckUtils]: 1: Hoare triple {4900#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:29,805 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4900#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:29,806 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:29,826 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:50:29,826 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:50:29,826 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:50:29,826 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:50:29,826 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:50:29,826 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:50:29,847 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:29,847 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:50:29,847 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:50:29,847 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:50:29,848 INFO L87 Difference]: Start difference. First operand 91 states and 493 transitions. Second operand 6 states. [2018-12-19 21:50:31,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:31,142 INFO L93 Difference]: Finished difference Result 110 states and 511 transitions. [2018-12-19 21:50:31,142 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:50:31,142 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:50:31,142 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:50:31,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:50:31,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-19 21:50:31,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:50:31,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-19 21:50:31,143 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2018-12-19 21:50:31,222 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:31,226 INFO L225 Difference]: With dead ends: 110 [2018-12-19 21:50:31,226 INFO L226 Difference]: Without dead ends: 109 [2018-12-19 21:50:31,226 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-19 21:50:31,227 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-12-19 21:50:31,945 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 91. [2018-12-19 21:50:31,946 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:50:31,946 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand 91 states. [2018-12-19 21:50:31,946 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 91 states. [2018-12-19 21:50:31,946 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 91 states. [2018-12-19 21:50:31,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:31,950 INFO L93 Difference]: Finished difference Result 109 states and 509 transitions. [2018-12-19 21:50:31,951 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 509 transitions. [2018-12-19 21:50:31,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:31,951 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:31,951 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 109 states. [2018-12-19 21:50:31,952 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 109 states. [2018-12-19 21:50:31,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:31,955 INFO L93 Difference]: Finished difference Result 109 states and 509 transitions. [2018-12-19 21:50:31,955 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 509 transitions. [2018-12-19 21:50:31,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:31,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:31,956 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:50:31,956 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:50:31,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-12-19 21:50:31,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 493 transitions. [2018-12-19 21:50:31,960 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 493 transitions. Word has length 4 [2018-12-19 21:50:31,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:50:31,960 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 493 transitions. [2018-12-19 21:50:31,960 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:50:31,960 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 493 transitions. [2018-12-19 21:50:31,960 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:50:31,961 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:50:31,961 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1] [2018-12-19 21:50:31,961 INFO L423 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:50:31,961 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:31,961 INFO L82 PathProgramCache]: Analyzing trace with hash 29182900, now seen corresponding path program 2 times [2018-12-19 21:50:31,961 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:50:31,962 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:31,962 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:31,962 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:31,962 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:50:31,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:32,094 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5458#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:50:32,095 INFO L273 TraceCheckUtils]: 1: Hoare triple {5458#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5459#(= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:32,096 INFO L273 TraceCheckUtils]: 2: Hoare triple {5459#(= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5460#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:50:32,097 INFO L273 TraceCheckUtils]: 3: Hoare triple {5460#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:32,098 INFO L273 TraceCheckUtils]: 4: Hoare triple {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2018-12-19 21:50:32,098 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:32,098 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:32,099 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:50:32,099 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:50:32,099 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-19 21:50:32,099 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:32,099 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:50:32,109 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:50:32,109 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:50:32,119 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:50:32,119 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:50:32,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:32,125 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:50:32,201 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:50:32,211 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:50:32,223 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,225 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:50:32,241 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,242 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,245 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:50:32,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,267 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,270 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,271 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:50:32,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,337 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,341 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:50:32,349 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:32,396 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:32,422 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:32,445 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:32,463 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:32,481 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:32,522 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,523 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:50:32,595 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,596 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,597 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:50:32,685 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,689 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:50:32,784 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,785 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,786 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,787 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,789 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,790 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,791 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:50:32,907 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,909 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,910 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,911 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,914 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,915 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:32,917 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:50:32,924 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:32,954 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:32,987 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:33,018 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:33,049 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:33,104 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:33,105 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 6 variables, input treesize:92, output treesize:91 [2018-12-19 21:50:33,133 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:33,133 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_98|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, |v_#valid_24|]. (let ((.cse0 (store |v_#valid_24| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= 0 (select .cse3 ULTIMATE.start_main_p5)) (= (select (store .cse3 ULTIMATE.start_main_p5 1) ULTIMATE.start_malloc_ptr) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_98| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_malloc_ptr 0))))))) [2018-12-19 21:50:33,133 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:50:33,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:33,296 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:50:33,305 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:33,356 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:33,356 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-19 21:50:33,386 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:33,386 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_99|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_99| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_99| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_99| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_99| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_99| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |v_#memory_int_99| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_99| ULTIMATE.start_malloc_ptr) 0))) [2018-12-19 21:50:33,386 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3))) [2018-12-19 21:50:33,517 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:33,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:33,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:33,521 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:33,523 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:33,524 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:33,525 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:33,526 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:33,527 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 103 [2018-12-19 21:50:33,535 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:33,592 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:33,593 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:71 [2018-12-19 21:50:34,462 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:34,463 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_100|, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_100| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_100| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_100| ULTIMATE.start_malloc_ptr) 0) (= 0 (select |v_#memory_int_100| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_100| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_100| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (+ .cse0 1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |v_#memory_int_100| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:50:34,463 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3))) [2018-12-19 21:50:34,963 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:34,964 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:34,965 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:34,966 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:34,967 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:34,969 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:34,970 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:34,971 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:34,972 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 113 [2018-12-19 21:50:34,985 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:35,070 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:35,071 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:57 [2018-12-19 21:50:35,175 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:35,175 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_101|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_malloc_ptr]. (let ((.cse0 (select |v_#memory_int_101| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_101| ULTIMATE.start_main_p4) 2) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (store |v_#memory_int_101| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_101| ULTIMATE.start_malloc_ptr) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p2)))) [2018-12-19 21:50:35,175 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-19 21:50:35,266 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:50:35,272 INFO L273 TraceCheckUtils]: 1: Hoare triple {5465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5469#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} is VALID [2018-12-19 21:50:35,277 INFO L273 TraceCheckUtils]: 2: Hoare triple {5469#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5473#(and (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} is VALID [2018-12-19 21:50:35,284 INFO L273 TraceCheckUtils]: 3: Hoare triple {5473#(and (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5477#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-19 21:50:35,285 INFO L273 TraceCheckUtils]: 4: Hoare triple {5477#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2018-12-19 21:50:35,286 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:35,286 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:50:35,422 INFO L273 TraceCheckUtils]: 4: Hoare triple {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2018-12-19 21:50:35,424 INFO L273 TraceCheckUtils]: 3: Hoare triple {5484#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:35,424 INFO L273 TraceCheckUtils]: 2: Hoare triple {5488#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5484#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:50:35,426 INFO L273 TraceCheckUtils]: 1: Hoare triple {5492#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5488#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:50:35,428 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5492#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:50:35,428 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:35,448 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:50:35,448 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:50:35,448 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:50:35,449 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:50:35,449 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:50:35,449 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:50:35,484 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:35,484 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:50:35,484 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:50:35,484 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:50:35,484 INFO L87 Difference]: Start difference. First operand 91 states and 493 transitions. Second operand 10 states. [2018-12-19 21:50:39,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:39,099 INFO L93 Difference]: Finished difference Result 133 states and 606 transitions. [2018-12-19 21:50:39,099 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:50:39,099 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:50:39,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:50:39,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:50:39,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2018-12-19 21:50:39,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:50:39,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2018-12-19 21:50:39,101 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 89 transitions. [2018-12-19 21:50:39,469 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:39,472 INFO L225 Difference]: With dead ends: 133 [2018-12-19 21:50:39,472 INFO L226 Difference]: Without dead ends: 128 [2018-12-19 21:50:39,473 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=73, Invalid=109, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:50:39,473 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2018-12-19 21:50:40,070 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 95. [2018-12-19 21:50:40,070 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:50:40,070 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand 95 states. [2018-12-19 21:50:40,071 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 95 states. [2018-12-19 21:50:40,071 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 95 states. [2018-12-19 21:50:40,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:40,075 INFO L93 Difference]: Finished difference Result 128 states and 598 transitions. [2018-12-19 21:50:40,076 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 598 transitions. [2018-12-19 21:50:40,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:40,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:40,076 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 128 states. [2018-12-19 21:50:40,076 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 128 states. [2018-12-19 21:50:40,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:40,079 INFO L93 Difference]: Finished difference Result 128 states and 598 transitions. [2018-12-19 21:50:40,080 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 598 transitions. [2018-12-19 21:50:40,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:40,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:40,080 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:50:40,080 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:50:40,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 95 states. [2018-12-19 21:50:40,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 538 transitions. [2018-12-19 21:50:40,083 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 538 transitions. Word has length 5 [2018-12-19 21:50:40,083 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:50:40,083 INFO L480 AbstractCegarLoop]: Abstraction has 95 states and 538 transitions. [2018-12-19 21:50:40,083 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:50:40,083 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 538 transitions. [2018-12-19 21:50:40,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:50:40,084 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:50:40,084 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:50:40,084 INFO L423 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:50:40,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:40,084 INFO L82 PathProgramCache]: Analyzing trace with hash 29172052, now seen corresponding path program 1 times [2018-12-19 21:50:40,084 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:50:40,085 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:40,085 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:50:40,085 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:40,085 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:50:40,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:40,203 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6134#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:50:40,205 INFO L273 TraceCheckUtils]: 1: Hoare triple {6134#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:50:40,206 INFO L273 TraceCheckUtils]: 2: Hoare triple {6135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:40,206 INFO L273 TraceCheckUtils]: 3: Hoare triple {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:40,207 INFO L273 TraceCheckUtils]: 4: Hoare triple {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2018-12-19 21:50:40,207 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:40,208 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:40,208 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:50:40,208 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:50:40,208 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [28], [29] [2018-12-19 21:50:40,211 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:50:40,211 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:50:41,283 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:50:41,283 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:50:41,283 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:41,283 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:50:41,283 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:41,283 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:50:41,292 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:41,292 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:50:41,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:41,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:41,301 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:50:41,348 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:50:41,355 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:50:41,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,366 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:50:41,378 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,381 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:50:41,398 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,399 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,400 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,402 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:50:41,430 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:50:41,433 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:41,465 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:41,490 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:41,510 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:41,527 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:41,541 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:41,577 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,578 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:50:41,637 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,639 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:50:41,699 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,701 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,702 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,703 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,704 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:50:41,781 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,782 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,783 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,784 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,786 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,787 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:41,788 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:50:41,791 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:41,810 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:41,827 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:41,846 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:41,886 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:41,886 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:50:41,904 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:41,904 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_25|]. (let ((.cse2 (store |v_#valid_25| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p2) 0) (= (store (store (store (store (store (store |v_#memory_int_105| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-19 21:50:41,904 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:50:42,023 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:42,024 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:50:42,029 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:42,066 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:42,066 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:50:42,078 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:42,079 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_106| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_106| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_106| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0))) [2018-12-19 21:50:42,079 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:50:42,161 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:42,162 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:42,164 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:42,165 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:42,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:42,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:42,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:42,169 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2018-12-19 21:50:42,174 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:42,253 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:42,253 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-19 21:50:42,375 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:42,375 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_107|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_107| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_107| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_107| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_107| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_107| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_107| ULTIMATE.start_main_p3)))) [2018-12-19 21:50:42,375 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:50:42,431 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6140#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:50:42,434 INFO L273 TraceCheckUtils]: 1: Hoare triple {6140#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6144#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:50:42,436 INFO L273 TraceCheckUtils]: 2: Hoare triple {6144#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:50:42,443 INFO L273 TraceCheckUtils]: 3: Hoare triple {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume #memory_int[main_p1] >= 0; {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:50:42,444 INFO L273 TraceCheckUtils]: 4: Hoare triple {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2018-12-19 21:50:42,444 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:42,445 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:50:42,491 INFO L273 TraceCheckUtils]: 4: Hoare triple {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2018-12-19 21:50:42,492 INFO L273 TraceCheckUtils]: 3: Hoare triple {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:42,493 INFO L273 TraceCheckUtils]: 2: Hoare triple {6162#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:42,495 INFO L273 TraceCheckUtils]: 1: Hoare triple {6166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6162#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:42,497 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:50:42,498 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:42,516 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:50:42,516 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:50:42,517 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:50:42,517 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:50:42,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:50:42,517 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:50:42,534 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:42,534 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:50:42,534 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:50:42,535 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:50:42,535 INFO L87 Difference]: Start difference. First operand 95 states and 538 transitions. Second operand 8 states. [2018-12-19 21:50:44,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:44,318 INFO L93 Difference]: Finished difference Result 125 states and 622 transitions. [2018-12-19 21:50:44,318 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:50:44,318 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:50:44,318 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:50:44,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:50:44,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-19 21:50:44,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:50:44,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-19 21:50:44,319 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2018-12-19 21:50:44,433 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:44,436 INFO L225 Difference]: With dead ends: 125 [2018-12-19 21:50:44,436 INFO L226 Difference]: Without dead ends: 124 [2018-12-19 21:50:44,436 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:50:44,437 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-12-19 21:50:45,541 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 102. [2018-12-19 21:50:45,541 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:50:45,541 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand 102 states. [2018-12-19 21:50:45,541 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand 102 states. [2018-12-19 21:50:45,541 INFO L87 Difference]: Start difference. First operand 124 states. Second operand 102 states. [2018-12-19 21:50:45,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:45,545 INFO L93 Difference]: Finished difference Result 124 states and 620 transitions. [2018-12-19 21:50:45,545 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 620 transitions. [2018-12-19 21:50:45,546 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:45,546 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:45,546 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 124 states. [2018-12-19 21:50:45,546 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 124 states. [2018-12-19 21:50:45,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:45,549 INFO L93 Difference]: Finished difference Result 124 states and 620 transitions. [2018-12-19 21:50:45,549 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 620 transitions. [2018-12-19 21:50:45,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:45,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:45,550 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:50:45,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:50:45,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2018-12-19 21:50:45,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 589 transitions. [2018-12-19 21:50:45,554 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 589 transitions. Word has length 5 [2018-12-19 21:50:45,554 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:50:45,554 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 589 transitions. [2018-12-19 21:50:45,554 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:50:45,554 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 589 transitions. [2018-12-19 21:50:45,554 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:50:45,554 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:50:45,554 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:50:45,555 INFO L423 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:50:45,555 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:45,555 INFO L82 PathProgramCache]: Analyzing trace with hash 29187302, now seen corresponding path program 1 times [2018-12-19 21:50:45,555 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:50:45,556 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:45,556 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:45,556 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:45,556 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:50:45,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:45,851 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6812#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:50:45,853 INFO L273 TraceCheckUtils]: 1: Hoare triple {6812#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6813#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:50:45,854 INFO L273 TraceCheckUtils]: 2: Hoare triple {6813#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6814#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} is VALID [2018-12-19 21:50:45,855 INFO L273 TraceCheckUtils]: 3: Hoare triple {6814#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6815#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:50:45,856 INFO L273 TraceCheckUtils]: 4: Hoare triple {6815#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2018-12-19 21:50:45,856 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:45,857 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:45,857 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:50:45,857 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:50:45,857 INFO L207 CegarAbsIntRunner]: [0], [18], [22], [24], [27] [2018-12-19 21:50:45,858 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:50:45,859 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:50:47,532 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:50:47,533 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:50:47,533 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:47,533 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:50:47,533 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:47,533 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:50:47,542 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:47,542 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:50:47,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:47,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:47,552 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:50:47,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,622 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:50:47,681 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,683 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,683 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:50:47,747 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,749 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,750 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,752 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:50:47,833 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,834 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,835 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,840 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:50:47,940 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,941 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,942 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,944 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,945 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,946 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,947 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,949 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:47,949 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:50:47,952 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:47,983 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,016 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,048 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,080 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,122 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:50:48,131 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:50:48,145 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:50:48,162 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:50:48,183 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:50:48,207 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:50:48,210 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,249 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,272 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,290 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,303 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,317 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,376 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:48,377 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2018-12-19 21:50:48,387 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:48,388 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, |v_#valid_26|]. (let ((.cse3 (store |v_#valid_26| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p4 1))) (and (= (store (store (store (store (store (store |v_#memory_int_110| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse2 ULTIMATE.start_main_p4) 0) (= 0 (select .cse3 ULTIMATE.start_main_p2)) (= (select .cse1 ULTIMATE.start_main_p5) 0)))))) [2018-12-19 21:50:48,388 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:50:48,528 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:48,529 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:50:48,533 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,588 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:48,588 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-19 21:50:48,666 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:48,666 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_111|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_111| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_111| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_111| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_111| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_111| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_111| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_111| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:50:48,667 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:50:48,758 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:48,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:48,761 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:48,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:48,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:48,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:48,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:48,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:48,768 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 105 [2018-12-19 21:50:48,772 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:48,857 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:48,857 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:57 [2018-12-19 21:50:51,038 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:51,038 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_112|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_112| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_112| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_112| ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_112| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_112| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_112| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_112| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:50:51,039 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:50:51,136 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,139 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,140 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,141 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,142 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,143 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,148 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,148 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:50:51,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:50:51,151 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 118 [2018-12-19 21:50:51,156 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:50:51,216 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:50:51,217 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2018-12-19 21:50:51,479 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:50:51,480 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_113|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_113| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_113| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_113| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (+ (select |v_#memory_int_113| ULTIMATE.start_main_p4) 1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p5) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:50:51,480 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:50:51,521 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6819#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2018-12-19 21:50:51,524 INFO L273 TraceCheckUtils]: 1: Hoare triple {6819#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6823#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2018-12-19 21:50:51,527 INFO L273 TraceCheckUtils]: 2: Hoare triple {6823#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6827#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:50:51,530 INFO L273 TraceCheckUtils]: 3: Hoare triple {6827#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6831#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:50:51,531 INFO L273 TraceCheckUtils]: 4: Hoare triple {6831#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2018-12-19 21:50:51,532 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:51,532 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:50:51,629 INFO L273 TraceCheckUtils]: 4: Hoare triple {6835#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2018-12-19 21:50:51,630 INFO L273 TraceCheckUtils]: 3: Hoare triple {6839#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6835#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:51,632 INFO L273 TraceCheckUtils]: 2: Hoare triple {6843#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6839#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:51,634 INFO L273 TraceCheckUtils]: 1: Hoare triple {6847#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6843#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:51,636 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6847#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:50:51,637 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:51,657 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:50:51,658 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:50:51,658 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:50:51,658 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:50:51,658 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:50:51,658 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:50:51,676 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:51,676 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:50:51,676 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:50:51,676 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:50:51,677 INFO L87 Difference]: Start difference. First operand 102 states and 589 transitions. Second operand 10 states. [2018-12-19 21:50:57,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:57,799 INFO L93 Difference]: Finished difference Result 149 states and 665 transitions. [2018-12-19 21:50:57,799 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:50:57,799 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:50:57,800 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:50:57,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:50:57,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2018-12-19 21:50:57,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:50:57,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2018-12-19 21:50:57,801 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 96 transitions. [2018-12-19 21:50:57,963 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:50:57,968 INFO L225 Difference]: With dead ends: 149 [2018-12-19 21:50:57,968 INFO L226 Difference]: Without dead ends: 145 [2018-12-19 21:50:57,968 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:50:57,969 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 145 states. [2018-12-19 21:50:58,873 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 145 to 105. [2018-12-19 21:50:58,874 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:50:58,874 INFO L82 GeneralOperation]: Start isEquivalent. First operand 145 states. Second operand 105 states. [2018-12-19 21:50:58,874 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 105 states. [2018-12-19 21:50:58,874 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 105 states. [2018-12-19 21:50:58,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:58,879 INFO L93 Difference]: Finished difference Result 145 states and 658 transitions. [2018-12-19 21:50:58,879 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 658 transitions. [2018-12-19 21:50:58,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:58,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:58,880 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 145 states. [2018-12-19 21:50:58,880 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 145 states. [2018-12-19 21:50:58,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:50:58,885 INFO L93 Difference]: Finished difference Result 145 states and 658 transitions. [2018-12-19 21:50:58,885 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 658 transitions. [2018-12-19 21:50:58,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:50:58,886 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:50:58,886 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:50:58,886 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:50:58,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 105 states. [2018-12-19 21:50:58,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 605 transitions. [2018-12-19 21:50:58,889 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 605 transitions. Word has length 5 [2018-12-19 21:50:58,889 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:50:58,890 INFO L480 AbstractCegarLoop]: Abstraction has 105 states and 605 transitions. [2018-12-19 21:50:58,890 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:50:58,890 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 605 transitions. [2018-12-19 21:50:58,890 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:50:58,890 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:50:58,890 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:50:58,891 INFO L423 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:50:58,893 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:50:58,893 INFO L82 PathProgramCache]: Analyzing trace with hash 29186868, now seen corresponding path program 1 times [2018-12-19 21:50:58,893 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:50:58,894 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:58,894 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:50:58,894 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:50:58,894 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:50:58,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:50:59,216 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7567#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:50:59,218 INFO L273 TraceCheckUtils]: 1: Hoare triple {7567#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7568#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:50:59,219 INFO L273 TraceCheckUtils]: 2: Hoare triple {7568#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7569#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:50:59,220 INFO L273 TraceCheckUtils]: 3: Hoare triple {7569#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7570#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:50:59,222 INFO L273 TraceCheckUtils]: 4: Hoare triple {7570#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2018-12-19 21:50:59,222 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:50:59,222 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:50:59,223 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:50:59,223 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:50:59,223 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [22], [27] [2018-12-19 21:50:59,225 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:50:59,225 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:51:00,413 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:51:00,414 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:51:00,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:51:00,414 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:51:00,414 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:51:00,414 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:51:00,424 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:51:00,424 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:51:00,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:00,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:00,435 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:51:00,478 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:51:00,483 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:51:00,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,493 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,494 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:51:00,505 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,508 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:51:00,523 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,525 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,527 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,528 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,529 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:51:00,553 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:51:00,556 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:00,588 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:00,611 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:00,631 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:00,647 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:00,662 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:00,695 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,696 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:51:00,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,769 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,770 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:51:00,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,865 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,865 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:51:00,943 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,944 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,945 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,947 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,948 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,949 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:00,950 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:51:00,953 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:00,979 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:01,000 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:01,023 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:01,070 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:01,070 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 4 variables, input treesize:72, output treesize:71 [2018-12-19 21:51:01,083 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:01,083 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, |v_#valid_27|]. (let ((.cse1 (store |v_#valid_27| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_117| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-19 21:51:01,083 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:51:01,197 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:01,198 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:51:01,201 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:01,234 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:01,234 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2018-12-19 21:51:02,679 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:02,680 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_118|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_118| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_118| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_118| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:51:02,680 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:51:02,752 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:02,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:02,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:02,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:02,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:02,758 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:02,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:02,760 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2018-12-19 21:51:02,764 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:02,800 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:02,801 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:62, output treesize:40 [2018-12-19 21:51:03,233 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:03,233 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_119|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_119| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_119| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_119| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_119| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_119| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_119| ULTIMATE.start_main_p4) 1) 0))) [2018-12-19 21:51:03,233 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:51:03,290 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:03,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:03,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:03,293 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:03,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:03,296 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:03,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:03,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:03,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:03,299 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:51:03,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:03,302 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2018-12-19 21:51:03,308 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:03,347 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:03,347 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:34 [2018-12-19 21:51:04,337 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:04,337 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_120|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_120| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_120| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_120| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_120| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (+ (select |v_#memory_int_120| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_120| ULTIMATE.start_main_p3)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:51:04,338 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-19 21:51:04,373 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7574#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:51:04,375 INFO L273 TraceCheckUtils]: 1: Hoare triple {7574#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7578#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:51:04,376 INFO L273 TraceCheckUtils]: 2: Hoare triple {7578#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7582#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:51:04,378 INFO L273 TraceCheckUtils]: 3: Hoare triple {7582#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7586#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:51:04,379 INFO L273 TraceCheckUtils]: 4: Hoare triple {7586#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2018-12-19 21:51:04,380 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:04,380 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:51:04,457 INFO L273 TraceCheckUtils]: 4: Hoare triple {7590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2018-12-19 21:51:04,459 INFO L273 TraceCheckUtils]: 3: Hoare triple {7594#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:04,461 INFO L273 TraceCheckUtils]: 2: Hoare triple {7598#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7594#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:04,464 INFO L273 TraceCheckUtils]: 1: Hoare triple {7602#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7598#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:04,467 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7602#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:04,468 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:04,489 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:51:04,489 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:51:04,489 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:51:04,490 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:04,490 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:51:04,490 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:51:04,510 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:04,510 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:51:04,511 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:51:04,511 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:51:04,511 INFO L87 Difference]: Start difference. First operand 105 states and 605 transitions. Second operand 10 states. [2018-12-19 21:51:08,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:08,847 INFO L93 Difference]: Finished difference Result 138 states and 662 transitions. [2018-12-19 21:51:08,847 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:51:08,847 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:08,847 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:51:08,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:08,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:51:08,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:08,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:51:08,848 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2018-12-19 21:51:08,974 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:08,978 INFO L225 Difference]: With dead ends: 138 [2018-12-19 21:51:08,978 INFO L226 Difference]: Without dead ends: 136 [2018-12-19 21:51:08,978 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:51:08,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2018-12-19 21:51:09,930 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 104. [2018-12-19 21:51:09,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:51:09,931 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand 104 states. [2018-12-19 21:51:09,931 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 104 states. [2018-12-19 21:51:09,931 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 104 states. [2018-12-19 21:51:09,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:09,935 INFO L93 Difference]: Finished difference Result 136 states and 657 transitions. [2018-12-19 21:51:09,935 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 657 transitions. [2018-12-19 21:51:09,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:51:09,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:51:09,935 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 136 states. [2018-12-19 21:51:09,935 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 136 states. [2018-12-19 21:51:09,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:09,939 INFO L93 Difference]: Finished difference Result 136 states and 657 transitions. [2018-12-19 21:51:09,939 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 657 transitions. [2018-12-19 21:51:09,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:51:09,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:51:09,939 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:51:09,940 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:51:09,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 104 states. [2018-12-19 21:51:09,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 598 transitions. [2018-12-19 21:51:09,942 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 598 transitions. Word has length 5 [2018-12-19 21:51:09,942 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:51:09,943 INFO L480 AbstractCegarLoop]: Abstraction has 104 states and 598 transitions. [2018-12-19 21:51:09,943 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:51:09,943 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 598 transitions. [2018-12-19 21:51:09,943 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:51:09,943 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:51:09,943 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:51:09,943 INFO L423 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:51:09,944 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:51:09,944 INFO L82 PathProgramCache]: Analyzing trace with hash 29188666, now seen corresponding path program 1 times [2018-12-19 21:51:09,944 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:51:09,945 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:51:09,945 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:51:09,945 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:51:09,945 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:51:09,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:10,066 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8294#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:51:10,067 INFO L273 TraceCheckUtils]: 1: Hoare triple {8294#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8295#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:51:10,068 INFO L273 TraceCheckUtils]: 2: Hoare triple {8295#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8296#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:51:10,069 INFO L273 TraceCheckUtils]: 3: Hoare triple {8296#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:10,069 INFO L273 TraceCheckUtils]: 4: Hoare triple {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2018-12-19 21:51:10,069 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:10,069 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:51:10,069 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:51:10,070 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:51:10,070 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [27] [2018-12-19 21:51:10,071 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:51:10,071 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:51:11,335 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:51:11,335 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:51:11,336 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:51:11,336 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:51:11,336 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:51:11,336 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:51:11,344 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:51:11,344 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:51:11,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:11,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:11,365 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:51:11,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,420 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:51:11,480 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,481 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,483 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:51:11,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,553 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:51:11,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,635 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,636 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,637 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,639 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,641 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:51:11,740 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,742 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,744 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,746 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,747 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,748 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:11,749 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:51:11,752 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:11,782 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:11,811 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:11,841 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:11,871 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:11,913 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:51:11,923 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:51:11,936 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:51:11,953 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:51:11,973 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:51:11,995 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:51:11,999 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:12,038 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:12,061 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:12,079 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:12,094 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:12,109 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:12,162 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:12,163 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-19 21:51:12,180 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:12,181 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_124|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_28|]. (let ((.cse3 (store |v_#valid_28| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (select .cse1 ULTIMATE.start_main_p5) 0) (= (store (store (store (store (store (store |v_#memory_int_124| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= 0 (select .cse2 ULTIMATE.start_main_p4)) (= 0 (select .cse3 ULTIMATE.start_main_p2))))))) [2018-12-19 21:51:12,181 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:51:12,290 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:12,291 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:51:12,295 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:12,350 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:12,351 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-19 21:51:14,447 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:14,447 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_125|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_125| ULTIMATE.start_main_p4))) (and (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_125| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (store |v_#memory_int_125| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_125| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:51:14,448 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:51:14,545 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:14,547 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:14,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:14,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:14,550 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:14,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:14,552 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:51:14,553 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2018-12-19 21:51:14,556 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:14,612 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:14,613 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2018-12-19 21:51:16,901 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:16,901 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_126|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_126| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_126| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_126| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_126| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_126| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_126| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_126| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:51:16,901 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-19 21:51:16,990 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:16,992 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:16,993 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:16,994 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:16,995 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:16,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:16,997 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:16,999 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:17,000 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:17,001 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:17,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:17,003 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 115 [2018-12-19 21:51:17,008 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:17,080 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:17,081 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:73, output treesize:51 [2018-12-19 21:51:17,230 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:17,230 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_127|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_127| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_127| ULTIMATE.start_main_p6) 1)) (= 0 (select |v_#memory_int_127| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_127| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_127| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_127| ULTIMATE.start_main_p4) 1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_127| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:51:17,231 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:51:17,272 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8301#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:51:17,275 INFO L273 TraceCheckUtils]: 1: Hoare triple {8301#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:51:17,278 INFO L273 TraceCheckUtils]: 2: Hoare triple {8305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8309#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:51:17,284 INFO L273 TraceCheckUtils]: 3: Hoare triple {8309#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:51:17,286 INFO L273 TraceCheckUtils]: 4: Hoare triple {8313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2018-12-19 21:51:17,287 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:17,287 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:51:17,332 INFO L273 TraceCheckUtils]: 4: Hoare triple {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2018-12-19 21:51:17,333 INFO L273 TraceCheckUtils]: 3: Hoare triple {8320#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:17,335 INFO L273 TraceCheckUtils]: 2: Hoare triple {8324#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8320#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:51:17,339 INFO L273 TraceCheckUtils]: 1: Hoare triple {8328#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8324#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:51:17,341 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8328#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:51:17,342 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:17,359 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:51:17,360 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:51:17,360 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:51:17,360 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:17,360 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:51:17,360 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:51:17,381 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:17,381 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:51:17,381 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:51:17,382 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:51:17,382 INFO L87 Difference]: Start difference. First operand 104 states and 598 transitions. Second operand 10 states. [2018-12-19 21:51:19,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:19,815 INFO L93 Difference]: Finished difference Result 152 states and 738 transitions. [2018-12-19 21:51:19,816 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:51:19,816 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:19,816 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:51:19,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:19,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-19 21:51:19,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:19,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-19 21:51:19,817 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2018-12-19 21:51:19,963 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:19,967 INFO L225 Difference]: With dead ends: 152 [2018-12-19 21:51:19,967 INFO L226 Difference]: Without dead ends: 151 [2018-12-19 21:51:19,968 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2018-12-19 21:51:19,968 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2018-12-19 21:51:20,956 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 106. [2018-12-19 21:51:20,956 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:51:20,956 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand 106 states. [2018-12-19 21:51:20,956 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand 106 states. [2018-12-19 21:51:20,957 INFO L87 Difference]: Start difference. First operand 151 states. Second operand 106 states. [2018-12-19 21:51:20,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:20,961 INFO L93 Difference]: Finished difference Result 151 states and 734 transitions. [2018-12-19 21:51:20,961 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 734 transitions. [2018-12-19 21:51:20,961 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:51:20,961 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:51:20,961 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 151 states. [2018-12-19 21:51:20,961 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 151 states. [2018-12-19 21:51:20,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:20,966 INFO L93 Difference]: Finished difference Result 151 states and 734 transitions. [2018-12-19 21:51:20,966 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 734 transitions. [2018-12-19 21:51:20,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:51:20,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:51:20,967 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:51:20,967 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:51:20,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 106 states. [2018-12-19 21:51:20,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 612 transitions. [2018-12-19 21:51:20,971 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 612 transitions. Word has length 5 [2018-12-19 21:51:20,971 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:51:20,971 INFO L480 AbstractCegarLoop]: Abstraction has 106 states and 612 transitions. [2018-12-19 21:51:20,971 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:51:20,971 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 612 transitions. [2018-12-19 21:51:20,972 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:51:20,972 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:51:20,972 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:51:20,972 INFO L423 AbstractCegarLoop]: === Iteration 23 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:51:20,972 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:51:20,973 INFO L82 PathProgramCache]: Analyzing trace with hash 29188790, now seen corresponding path program 1 times [2018-12-19 21:51:20,973 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:51:20,973 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:51:20,973 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:51:20,974 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:51:20,974 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:51:20,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:21,303 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9076#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:51:21,304 INFO L273 TraceCheckUtils]: 1: Hoare triple {9076#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9077#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:51:21,305 INFO L273 TraceCheckUtils]: 2: Hoare triple {9077#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9078#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:51:21,306 INFO L273 TraceCheckUtils]: 3: Hoare triple {9078#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9079#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:51:21,307 INFO L273 TraceCheckUtils]: 4: Hoare triple {9079#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2018-12-19 21:51:21,307 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:21,308 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:51:21,308 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:51:21,308 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:51:21,308 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [24], [27] [2018-12-19 21:51:21,309 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:51:21,309 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:51:22,501 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:51:22,501 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:51:22,502 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:51:22,502 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:51:22,502 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:51:22,502 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:51:22,514 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:51:22,515 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:51:22,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:22,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:22,553 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:51:22,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,622 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:51:22,679 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,680 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,681 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:51:22,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:51:22,855 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,860 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,864 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:51:22,963 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,965 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,967 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,969 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,970 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,972 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:22,976 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:51:22,994 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,051 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,085 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,119 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,156 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,204 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:51:23,214 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:51:23,227 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:51:23,245 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:51:23,265 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:51:23,302 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:51:23,312 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,346 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,369 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,387 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,402 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,416 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,471 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:23,472 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2018-12-19 21:51:23,482 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:23,482 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_131|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_29|]. (let ((.cse1 (store |v_#valid_29| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse2 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_131| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= (select .cse2 ULTIMATE.start_main_p5) 0) (= (select (store .cse2 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0) (= 0 (select .cse3 ULTIMATE.start_main_p4))))))) [2018-12-19 21:51:23,482 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:51:23,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,614 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:51:23,619 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,669 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:23,669 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-19 21:51:23,721 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:23,721 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_132|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_132| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_132| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_132| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p6) 0) (= (select |v_#memory_int_132| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:51:23,722 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:51:23,812 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,813 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,814 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,816 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,818 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,819 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:51:23,820 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2018-12-19 21:51:23,824 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:23,878 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:23,879 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:59 [2018-12-19 21:51:23,888 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:23,889 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_133|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_133| ULTIMATE.start_main_p6))) (and (= 0 (+ (select |v_#memory_int_133| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_133| ULTIMATE.start_main_p3)) (= 0 .cse0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_133| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_133| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_133| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_133| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:51:23,889 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-19 21:51:23,972 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,980 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,983 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:23,983 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:51:23,984 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 108 [2018-12-19 21:51:24,007 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:24,161 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:24,162 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:73, output treesize:57 [2018-12-19 21:51:26,242 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:26,242 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_134|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6]. (let ((.cse0 (select |v_#memory_int_134| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |v_#memory_int_134| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_134| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_134| ULTIMATE.start_main_p6) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:51:26,242 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:51:26,296 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9083#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:51:26,298 INFO L273 TraceCheckUtils]: 1: Hoare triple {9083#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9087#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:51:26,300 INFO L273 TraceCheckUtils]: 2: Hoare triple {9087#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9091#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:51:26,304 INFO L273 TraceCheckUtils]: 3: Hoare triple {9091#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9095#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:51:26,305 INFO L273 TraceCheckUtils]: 4: Hoare triple {9095#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2018-12-19 21:51:26,306 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:26,307 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:51:26,380 INFO L273 TraceCheckUtils]: 4: Hoare triple {9099#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2018-12-19 21:51:26,382 INFO L273 TraceCheckUtils]: 3: Hoare triple {9103#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9099#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:26,383 INFO L273 TraceCheckUtils]: 2: Hoare triple {9107#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9103#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:26,387 INFO L273 TraceCheckUtils]: 1: Hoare triple {9111#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9107#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:26,390 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9111#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:26,390 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:26,411 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:51:26,411 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:51:26,411 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:51:26,411 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:26,411 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:51:26,412 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:51:26,438 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:26,438 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:51:26,439 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:51:26,439 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:51:26,439 INFO L87 Difference]: Start difference. First operand 106 states and 612 transitions. Second operand 10 states. [2018-12-19 21:51:31,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:31,593 INFO L93 Difference]: Finished difference Result 141 states and 665 transitions. [2018-12-19 21:51:31,593 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:51:31,593 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:31,594 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:51:31,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:31,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:51:31,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:31,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:51:31,595 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2018-12-19 21:51:31,774 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:31,777 INFO L225 Difference]: With dead ends: 141 [2018-12-19 21:51:31,777 INFO L226 Difference]: Without dead ends: 140 [2018-12-19 21:51:31,777 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:51:31,777 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2018-12-19 21:51:32,858 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 107. [2018-12-19 21:51:32,858 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:51:32,858 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand 107 states. [2018-12-19 21:51:32,859 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 107 states. [2018-12-19 21:51:32,859 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 107 states. [2018-12-19 21:51:32,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:32,863 INFO L93 Difference]: Finished difference Result 140 states and 663 transitions. [2018-12-19 21:51:32,863 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 663 transitions. [2018-12-19 21:51:32,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:51:32,864 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:51:32,864 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 140 states. [2018-12-19 21:51:32,864 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 140 states. [2018-12-19 21:51:32,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:32,868 INFO L93 Difference]: Finished difference Result 140 states and 663 transitions. [2018-12-19 21:51:32,868 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 663 transitions. [2018-12-19 21:51:32,869 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:51:32,869 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:51:32,869 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:51:32,869 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:51:32,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-12-19 21:51:32,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 619 transitions. [2018-12-19 21:51:32,871 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 619 transitions. Word has length 5 [2018-12-19 21:51:32,871 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:51:32,872 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 619 transitions. [2018-12-19 21:51:32,872 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:51:32,872 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 619 transitions. [2018-12-19 21:51:32,872 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:51:32,872 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:51:32,872 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:51:32,872 INFO L423 AbstractCegarLoop]: === Iteration 24 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:51:32,873 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:51:32,873 INFO L82 PathProgramCache]: Analyzing trace with hash 29175212, now seen corresponding path program 1 times [2018-12-19 21:51:32,873 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:51:32,873 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:51:32,873 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:51:32,874 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:51:32,874 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:51:32,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:33,411 WARN L181 SmtUtils]: Spent 334.00 ms on a formula simplification. DAG size of input: 21 DAG size of output: 16 [2018-12-19 21:51:34,080 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9820#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:51:34,081 INFO L273 TraceCheckUtils]: 1: Hoare triple {9820#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9821#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:51:34,082 INFO L273 TraceCheckUtils]: 2: Hoare triple {9821#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9822#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:51:34,083 INFO L273 TraceCheckUtils]: 3: Hoare triple {9822#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:34,083 INFO L273 TraceCheckUtils]: 4: Hoare triple {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2018-12-19 21:51:34,084 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:34,084 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:51:34,084 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:51:34,084 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:51:34,085 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [27] [2018-12-19 21:51:34,087 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:51:34,087 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:51:35,142 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:51:35,142 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:51:35,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:51:35,142 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:51:35,142 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:51:35,143 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:51:35,152 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:51:35,153 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:51:35,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:35,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:35,164 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:51:35,214 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:51:35,222 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:51:35,235 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,236 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,237 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:51:35,248 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,250 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,252 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:51:35,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,269 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,271 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,273 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:51:35,298 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:51:35,301 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:35,332 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:35,354 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:35,376 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:35,393 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:35,407 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:35,440 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,441 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:51:35,495 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,496 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,497 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:51:35,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,558 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,559 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,560 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,561 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:51:35,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,635 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,636 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,637 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,639 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,640 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:51:35,643 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:35,661 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:35,677 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:35,694 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:35,730 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:35,731 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:51:35,745 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:35,745 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_138|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_30|]. (let ((.cse1 (store |v_#valid_30| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (store (store (store (store (store (store |v_#memory_int_138| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0))))) [2018-12-19 21:51:35,745 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:51:35,846 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:35,847 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:51:35,850 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:35,886 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:35,886 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:51:38,295 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:38,296 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_139|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_139| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_139| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_139| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_139| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_139| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_139| ULTIMATE.start_main_p2) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:51:38,296 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:51:38,382 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,384 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,387 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,388 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:51:38,389 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 81 [2018-12-19 21:51:38,405 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:38,442 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:38,442 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:42 [2018-12-19 21:51:38,465 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:38,465 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_140|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_140| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_140| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_140| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:51:38,465 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:51:38,530 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,531 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,534 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,537 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,538 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,539 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,540 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:38,541 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 90 [2018-12-19 21:51:38,545 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:38,585 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:38,586 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:56, output treesize:38 [2018-12-19 21:51:38,600 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:38,600 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_141|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_141| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_141| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_141| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_141| ULTIMATE.start_main_p2) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_141| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_141| ULTIMATE.start_main_p5) 0))) [2018-12-19 21:51:38,600 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:51:38,633 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:51:38,636 INFO L273 TraceCheckUtils]: 1: Hoare triple {9827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:51:38,639 INFO L273 TraceCheckUtils]: 2: Hoare triple {9831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9835#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:51:38,640 INFO L273 TraceCheckUtils]: 3: Hoare triple {9835#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:51:38,641 INFO L273 TraceCheckUtils]: 4: Hoare triple {9839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2018-12-19 21:51:38,642 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:38,642 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:51:38,690 INFO L273 TraceCheckUtils]: 4: Hoare triple {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2018-12-19 21:51:38,691 INFO L273 TraceCheckUtils]: 3: Hoare triple {9846#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:38,692 INFO L273 TraceCheckUtils]: 2: Hoare triple {9850#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9846#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:51:38,694 INFO L273 TraceCheckUtils]: 1: Hoare triple {9854#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9850#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:51:38,696 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9854#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:51:38,697 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:38,716 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:51:38,716 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:51:38,716 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:51:38,717 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:38,717 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:51:38,717 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:51:38,733 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:38,733 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:51:38,733 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:51:38,733 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:51:38,734 INFO L87 Difference]: Start difference. First operand 107 states and 619 transitions. Second operand 10 states. [2018-12-19 21:51:41,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:41,434 INFO L93 Difference]: Finished difference Result 163 states and 816 transitions. [2018-12-19 21:51:41,434 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:51:41,434 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:41,435 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:51:41,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:41,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-19 21:51:41,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:41,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-19 21:51:41,436 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2018-12-19 21:51:41,575 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:41,579 INFO L225 Difference]: With dead ends: 163 [2018-12-19 21:51:41,580 INFO L226 Difference]: Without dead ends: 162 [2018-12-19 21:51:41,580 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2018-12-19 21:51:41,581 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2018-12-19 21:51:42,782 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 116. [2018-12-19 21:51:42,783 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:51:42,783 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand 116 states. [2018-12-19 21:51:42,783 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 116 states. [2018-12-19 21:51:42,783 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 116 states. [2018-12-19 21:51:42,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:42,788 INFO L93 Difference]: Finished difference Result 162 states and 811 transitions. [2018-12-19 21:51:42,788 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 811 transitions. [2018-12-19 21:51:42,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:51:42,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:51:42,788 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 162 states. [2018-12-19 21:51:42,788 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 162 states. [2018-12-19 21:51:42,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:42,793 INFO L93 Difference]: Finished difference Result 162 states and 811 transitions. [2018-12-19 21:51:42,793 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 811 transitions. [2018-12-19 21:51:42,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:51:42,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:51:42,793 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:51:42,793 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:51:42,793 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 116 states. [2018-12-19 21:51:42,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 682 transitions. [2018-12-19 21:51:42,796 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 682 transitions. Word has length 5 [2018-12-19 21:51:42,796 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:51:42,796 INFO L480 AbstractCegarLoop]: Abstraction has 116 states and 682 transitions. [2018-12-19 21:51:42,797 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:51:42,797 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 682 transitions. [2018-12-19 21:51:42,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:51:42,797 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:51:42,797 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:51:42,797 INFO L423 AbstractCegarLoop]: === Iteration 25 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:51:42,797 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:51:42,798 INFO L82 PathProgramCache]: Analyzing trace with hash 29179614, now seen corresponding path program 1 times [2018-12-19 21:51:42,798 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:51:42,798 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:51:42,798 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:51:42,798 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:51:42,798 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:51:42,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:43,166 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10666#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:51:43,168 INFO L273 TraceCheckUtils]: 1: Hoare triple {10666#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10667#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:51:43,169 INFO L273 TraceCheckUtils]: 2: Hoare triple {10667#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10668#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:51:43,169 INFO L273 TraceCheckUtils]: 3: Hoare triple {10668#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10669#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:51:43,170 INFO L273 TraceCheckUtils]: 4: Hoare triple {10669#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2018-12-19 21:51:43,170 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:43,170 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:51:43,171 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:51:43,171 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:51:43,171 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [27] [2018-12-19 21:51:43,173 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:51:43,173 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:51:44,307 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:51:44,307 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:51:44,308 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:51:44,308 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:51:44,308 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:51:44,308 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:51:44,316 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:51:44,316 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:51:44,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:44,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:44,326 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:51:44,388 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,390 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:51:44,448 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,449 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,450 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:51:44,514 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,517 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,519 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:51:44,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,611 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,611 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:51:44,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,718 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,719 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:44,723 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:51:44,726 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:44,756 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:44,786 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:44,816 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:44,847 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:44,887 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:51:44,897 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:51:44,910 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:51:44,927 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:51:44,947 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:51:44,969 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:51:44,972 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:45,011 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:45,031 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:45,049 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:45,063 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:45,077 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:45,131 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:45,132 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2018-12-19 21:51:45,139 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:45,139 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_145|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, |v_#valid_31|]. (let ((.cse2 (store |v_#valid_31| ULTIMATE.start_main_p1 1))) (let ((.cse3 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p5)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_145| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse2 ULTIMATE.start_main_p2) 0) (= 0 (select .cse3 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0)))))) [2018-12-19 21:51:45,139 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:51:45,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:45,270 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:51:45,280 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:45,332 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:45,332 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-19 21:51:47,342 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:47,342 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_146|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_146| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_146| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_146| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_146| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-19 21:51:47,342 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:51:47,444 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,446 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,448 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,449 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,450 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,451 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,452 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,453 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 113 [2018-12-19 21:51:47,457 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:47,510 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:47,511 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:57 [2018-12-19 21:51:47,531 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:47,532 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_147|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_147| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_147| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_147| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= .cse0 0) (= (store |v_#memory_int_147| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:51:47,532 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:51:47,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,618 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,619 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,623 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:51:47,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:47,625 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 122 [2018-12-19 21:51:47,630 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:47,688 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:47,689 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2018-12-19 21:51:47,810 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:47,810 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_148|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_148| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_148| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_148| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_148| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_148| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |v_#memory_int_148| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (= (select |v_#memory_int_148| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:51:47,810 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-19 21:51:47,849 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10673#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:51:47,852 INFO L273 TraceCheckUtils]: 1: Hoare triple {10673#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10677#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:51:47,854 INFO L273 TraceCheckUtils]: 2: Hoare triple {10677#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10681#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:51:47,857 INFO L273 TraceCheckUtils]: 3: Hoare triple {10681#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10685#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-19 21:51:47,858 INFO L273 TraceCheckUtils]: 4: Hoare triple {10685#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2018-12-19 21:51:47,858 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:47,859 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:51:48,035 INFO L273 TraceCheckUtils]: 4: Hoare triple {10689#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2018-12-19 21:51:48,036 INFO L273 TraceCheckUtils]: 3: Hoare triple {10693#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10689#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:48,038 INFO L273 TraceCheckUtils]: 2: Hoare triple {10697#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10693#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:48,040 INFO L273 TraceCheckUtils]: 1: Hoare triple {10701#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10697#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:48,043 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10701#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:48,043 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:48,064 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:51:48,064 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:51:48,064 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:51:48,065 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:48,065 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:51:48,065 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:51:48,081 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:48,082 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:51:48,082 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:51:48,082 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:51:48,082 INFO L87 Difference]: Start difference. First operand 116 states and 682 transitions. Second operand 10 states. [2018-12-19 21:51:50,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:50,718 INFO L93 Difference]: Finished difference Result 163 states and 796 transitions. [2018-12-19 21:51:50,718 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:51:50,718 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:50,718 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:51:50,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:50,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2018-12-19 21:51:50,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:50,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2018-12-19 21:51:50,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 80 transitions. [2018-12-19 21:51:50,853 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:50,857 INFO L225 Difference]: With dead ends: 163 [2018-12-19 21:51:50,857 INFO L226 Difference]: Without dead ends: 160 [2018-12-19 21:51:50,857 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:51:50,857 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2018-12-19 21:51:51,747 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 122. [2018-12-19 21:51:51,747 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:51:51,748 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand 122 states. [2018-12-19 21:51:51,748 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand 122 states. [2018-12-19 21:51:51,748 INFO L87 Difference]: Start difference. First operand 160 states. Second operand 122 states. [2018-12-19 21:51:51,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:51,752 INFO L93 Difference]: Finished difference Result 160 states and 791 transitions. [2018-12-19 21:51:51,752 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 791 transitions. [2018-12-19 21:51:51,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:51:51,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:51:51,753 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 160 states. [2018-12-19 21:51:51,753 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 160 states. [2018-12-19 21:51:51,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:51,758 INFO L93 Difference]: Finished difference Result 160 states and 791 transitions. [2018-12-19 21:51:51,758 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 791 transitions. [2018-12-19 21:51:51,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:51:51,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:51:51,758 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:51:51,759 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:51:51,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 122 states. [2018-12-19 21:51:51,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 724 transitions. [2018-12-19 21:51:51,763 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 724 transitions. Word has length 5 [2018-12-19 21:51:51,763 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:51:51,763 INFO L480 AbstractCegarLoop]: Abstraction has 122 states and 724 transitions. [2018-12-19 21:51:51,763 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:51:51,763 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 724 transitions. [2018-12-19 21:51:51,764 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:51:51,764 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:51:51,764 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:51:51,764 INFO L423 AbstractCegarLoop]: === Iteration 26 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:51:51,765 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:51:51,765 INFO L82 PathProgramCache]: Analyzing trace with hash 29179180, now seen corresponding path program 1 times [2018-12-19 21:51:51,765 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:51:51,765 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:51:51,765 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:51:51,766 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:51:51,766 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:51:51,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:51,927 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11520#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:51:51,928 INFO L273 TraceCheckUtils]: 1: Hoare triple {11520#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11521#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:51:51,930 INFO L273 TraceCheckUtils]: 2: Hoare triple {11521#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11522#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:51:51,930 INFO L273 TraceCheckUtils]: 3: Hoare triple {11522#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11523#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:51:51,932 INFO L273 TraceCheckUtils]: 4: Hoare triple {11523#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2018-12-19 21:51:51,933 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:51,933 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:51:51,933 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:51:51,933 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:51:51,934 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [27] [2018-12-19 21:51:51,935 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:51:51,935 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:51:52,892 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:51:52,892 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:51:52,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:51:52,893 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:51:52,893 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:51:52,893 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:51:52,901 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:51:52,901 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:51:52,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:52,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:51:52,909 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:51:52,951 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:52,952 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:51:53,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,005 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:51:53,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,063 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,063 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:51:53,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,134 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,136 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,137 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:51:53,139 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,157 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,174 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,192 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,218 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:51:53,228 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:51:53,239 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:51:53,255 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:51:53,274 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:51:53,297 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:51:53,301 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,329 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,351 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,368 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,380 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,393 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,427 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:53,428 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 4 variables, input treesize:72, output treesize:71 [2018-12-19 21:51:53,438 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:53,438 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_152|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_32|]. (let ((.cse1 (store |v_#valid_32| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_152| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-19 21:51:53,438 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:51:53,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,554 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:51:53,558 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,589 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:53,590 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2018-12-19 21:51:53,610 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:53,610 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_153|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_153| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_153| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_153| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_153| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_153| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_153| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:51:53,610 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:51:53,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,691 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:53,695 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2018-12-19 21:51:53,699 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:53,731 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:53,732 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:62, output treesize:40 [2018-12-19 21:51:54,166 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:54,167 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_154|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_154| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_154| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_154| ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_154| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_154| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_154| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:51:54,167 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) [2018-12-19 21:51:54,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:54,233 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:54,234 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:54,235 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:54,236 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:54,237 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:54,238 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:54,240 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:54,241 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:54,241 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:51:54,242 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:51:54,243 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2018-12-19 21:51:54,249 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:51:54,287 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:51:54,287 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:34 [2018-12-19 21:51:54,632 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:51:54,632 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_155|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_155| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_155| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_155| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_155| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |v_#memory_int_155| ULTIMATE.start_main_p4) 1)) (= 1 (select |v_#memory_int_155| ULTIMATE.start_main_p3)) (= .cse0 0))) [2018-12-19 21:51:54,632 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-19 21:51:54,669 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11527#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:51:54,671 INFO L273 TraceCheckUtils]: 1: Hoare triple {11527#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11531#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:51:54,673 INFO L273 TraceCheckUtils]: 2: Hoare triple {11531#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11535#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:51:54,674 INFO L273 TraceCheckUtils]: 3: Hoare triple {11535#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11539#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-19 21:51:54,675 INFO L273 TraceCheckUtils]: 4: Hoare triple {11539#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2018-12-19 21:51:54,675 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:54,676 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:51:54,744 INFO L273 TraceCheckUtils]: 4: Hoare triple {11543#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2018-12-19 21:51:54,745 INFO L273 TraceCheckUtils]: 3: Hoare triple {11547#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11543#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:54,746 INFO L273 TraceCheckUtils]: 2: Hoare triple {11551#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11547#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:54,748 INFO L273 TraceCheckUtils]: 1: Hoare triple {11555#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11551#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:54,750 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11555#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:51:54,751 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:51:54,771 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:51:54,771 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:51:54,771 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:51:54,772 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:54,772 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:51:54,772 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:51:54,788 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:54,788 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:51:54,788 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:51:54,788 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:51:54,789 INFO L87 Difference]: Start difference. First operand 122 states and 724 transitions. Second operand 10 states. [2018-12-19 21:51:59,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:51:59,469 INFO L93 Difference]: Finished difference Result 165 states and 829 transitions. [2018-12-19 21:51:59,469 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:51:59,469 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:51:59,469 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:51:59,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:59,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:51:59,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:51:59,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:51:59,470 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2018-12-19 21:51:59,584 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:51:59,588 INFO L225 Difference]: With dead ends: 165 [2018-12-19 21:51:59,588 INFO L226 Difference]: Without dead ends: 163 [2018-12-19 21:51:59,588 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:51:59,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2018-12-19 21:52:00,457 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 125. [2018-12-19 21:52:00,457 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:52:00,458 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand 125 states. [2018-12-19 21:52:00,458 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 125 states. [2018-12-19 21:52:00,458 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 125 states. [2018-12-19 21:52:00,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:52:00,462 INFO L93 Difference]: Finished difference Result 163 states and 824 transitions. [2018-12-19 21:52:00,462 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 824 transitions. [2018-12-19 21:52:00,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:52:00,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:52:00,463 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand 163 states. [2018-12-19 21:52:00,463 INFO L87 Difference]: Start difference. First operand 125 states. Second operand 163 states. [2018-12-19 21:52:00,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:52:00,467 INFO L93 Difference]: Finished difference Result 163 states and 824 transitions. [2018-12-19 21:52:00,467 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 824 transitions. [2018-12-19 21:52:00,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:52:00,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:52:00,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:52:00,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:52:00,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 125 states. [2018-12-19 21:52:00,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 745 transitions. [2018-12-19 21:52:00,472 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 745 transitions. Word has length 5 [2018-12-19 21:52:00,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:52:00,472 INFO L480 AbstractCegarLoop]: Abstraction has 125 states and 745 transitions. [2018-12-19 21:52:00,472 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:52:00,472 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 745 transitions. [2018-12-19 21:52:00,472 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:52:00,472 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:52:00,472 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:52:00,473 INFO L423 AbstractCegarLoop]: === Iteration 27 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:52:00,473 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:52:00,473 INFO L82 PathProgramCache]: Analyzing trace with hash 28829936, now seen corresponding path program 1 times [2018-12-19 21:52:00,473 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:52:00,474 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:52:00,474 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:52:00,474 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:52:00,474 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:52:00,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:52:00,867 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:52:00,868 INFO L273 TraceCheckUtils]: 1: Hoare triple {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:52:00,869 INFO L273 TraceCheckUtils]: 2: Hoare triple {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:52:00,869 INFO L273 TraceCheckUtils]: 3: Hoare triple {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:52:00,870 INFO L273 TraceCheckUtils]: 4: Hoare triple {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2018-12-19 21:52:00,870 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:52:00,871 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:52:00,871 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:52:00,871 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:52:00,872 INFO L207 CegarAbsIntRunner]: [0], [6], [22], [28], [29] [2018-12-19 21:52:00,872 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:52:00,873 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:52:01,631 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:52:01,631 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:52:01,631 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:52:01,631 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:52:01,632 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:52:01,632 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:52:01,641 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:52:01,641 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:52:01,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:52:01,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:52:01,651 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:52:01,703 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:52:01,710 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:52:01,719 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,720 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,721 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:52:01,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,736 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:52:01,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,756 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:52:01,784 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:52:01,787 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:01,818 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:01,842 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:01,862 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:01,878 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:01,892 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:01,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,924 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:52:01,973 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:01,975 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:52:02,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,036 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:52:02,103 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,105 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,106 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,107 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,108 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,109 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:52:02,112 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:02,130 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:02,146 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:02,165 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:02,206 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:52:02,207 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:52:02,219 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:52:02,219 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_159|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, |v_#valid_33|]. (let ((.cse2 (store |v_#valid_33| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p4) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= (store (store (store (store (store (store |v_#memory_int_159| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0))))) [2018-12-19 21:52:02,219 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:52:02,329 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,330 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:52:02,334 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:02,373 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:52:02,374 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:52:02,385 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:52:02,386 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_160|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_160| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_160| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_160| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_160| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_160| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_160| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:52:02,386 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:52:02,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,462 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,463 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,464 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,465 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,466 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:02,467 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:52:02,468 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2018-12-19 21:52:02,477 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:02,516 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:52:02,516 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:42 [2018-12-19 21:52:02,566 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:52:02,566 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_161|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_161| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_161| ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 1 (select |v_#memory_int_161| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_161| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2018-12-19 21:52:02,566 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:52:02,624 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12398#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:52:02,627 INFO L273 TraceCheckUtils]: 1: Hoare triple {12398#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12402#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:52:02,629 INFO L273 TraceCheckUtils]: 2: Hoare triple {12402#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:52:02,630 INFO L273 TraceCheckUtils]: 3: Hoare triple {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:52:02,631 INFO L273 TraceCheckUtils]: 4: Hoare triple {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2018-12-19 21:52:02,632 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:52:02,632 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:52:02,677 INFO L273 TraceCheckUtils]: 4: Hoare triple {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2018-12-19 21:52:02,678 INFO L273 TraceCheckUtils]: 3: Hoare triple {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:52:02,679 INFO L273 TraceCheckUtils]: 2: Hoare triple {12420#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:52:02,680 INFO L273 TraceCheckUtils]: 1: Hoare triple {12424#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12420#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:52:02,683 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12424#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:52:02,683 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:52:02,702 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:52:02,702 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 3, 3] total 8 [2018-12-19 21:52:02,702 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:52:02,703 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 5 [2018-12-19 21:52:02,703 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:52:02,703 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-12-19 21:52:02,719 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:52:02,719 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-12-19 21:52:02,719 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-12-19 21:52:02,719 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=55, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:52:02,720 INFO L87 Difference]: Start difference. First operand 125 states and 745 transitions. Second operand 7 states. [2018-12-19 21:52:04,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:52:04,824 INFO L93 Difference]: Finished difference Result 158 states and 796 transitions. [2018-12-19 21:52:04,824 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:52:04,824 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 5 [2018-12-19 21:52:04,824 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:52:04,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-12-19 21:52:04,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2018-12-19 21:52:04,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-12-19 21:52:04,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2018-12-19 21:52:04,825 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2018-12-19 21:52:04,927 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:52:04,931 INFO L225 Difference]: With dead ends: 158 [2018-12-19 21:52:04,931 INFO L226 Difference]: Without dead ends: 156 [2018-12-19 21:52:04,931 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:52:04,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2018-12-19 21:52:05,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 128. [2018-12-19 21:52:05,914 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:52:05,914 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand 128 states. [2018-12-19 21:52:05,914 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 128 states. [2018-12-19 21:52:05,914 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 128 states. [2018-12-19 21:52:05,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:52:05,919 INFO L93 Difference]: Finished difference Result 156 states and 792 transitions. [2018-12-19 21:52:05,919 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 792 transitions. [2018-12-19 21:52:05,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:52:05,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:52:05,920 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 156 states. [2018-12-19 21:52:05,920 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 156 states. [2018-12-19 21:52:05,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:52:05,924 INFO L93 Difference]: Finished difference Result 156 states and 792 transitions. [2018-12-19 21:52:05,924 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 792 transitions. [2018-12-19 21:52:05,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:52:05,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:52:05,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:52:05,925 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:52:05,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 128 states. [2018-12-19 21:52:05,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 760 transitions. [2018-12-19 21:52:05,928 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 760 transitions. Word has length 5 [2018-12-19 21:52:05,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:52:05,928 INFO L480 AbstractCegarLoop]: Abstraction has 128 states and 760 transitions. [2018-12-19 21:52:05,928 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-12-19 21:52:05,928 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 760 transitions. [2018-12-19 21:52:05,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:52:05,929 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:52:05,929 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:52:05,929 INFO L423 AbstractCegarLoop]: === Iteration 28 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:52:05,929 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:52:05,929 INFO L82 PathProgramCache]: Analyzing trace with hash 28831546, now seen corresponding path program 2 times [2018-12-19 21:52:05,929 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:52:05,930 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:52:05,930 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:52:05,930 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:52:05,930 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:52:05,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:52:06,116 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13240#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:52:06,117 INFO L273 TraceCheckUtils]: 1: Hoare triple {13240#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13241#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (<= 1 (select |#memory_int| ULTIMATE.start_main_p6))) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:52:06,118 INFO L273 TraceCheckUtils]: 2: Hoare triple {13241#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (<= 1 (select |#memory_int| ULTIMATE.start_main_p6))) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:52:06,119 INFO L273 TraceCheckUtils]: 3: Hoare triple {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:52:06,119 INFO L273 TraceCheckUtils]: 4: Hoare triple {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2018-12-19 21:52:06,119 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:52:06,120 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:52:06,120 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:52:06,120 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:52:06,120 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-19 21:52:06,121 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:52:06,121 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:52:06,131 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:52:06,131 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:52:06,138 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:52:06,138 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:52:06,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:52:06,142 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:52:06,194 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,195 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:52:06,256 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,257 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,258 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:52:06,322 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,323 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,325 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,326 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,327 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:52:06,407 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,410 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,411 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,413 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,414 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:52:06,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,514 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,517 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,519 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,521 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:06,522 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:52:06,525 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:06,554 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:06,583 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:06,611 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:06,641 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:06,680 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:52:06,691 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:52:06,706 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:52:06,724 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:52:06,746 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:52:06,772 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:52:06,777 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:06,816 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:06,836 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:06,854 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:06,868 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:06,881 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:06,930 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:52:06,930 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-19 21:52:06,942 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:52:06,942 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_164|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_34|]. (let ((.cse2 (store |v_#valid_34| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= 0 (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= (select .cse0 ULTIMATE.start_main_p5) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select .cse3 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_164| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|)))))) [2018-12-19 21:52:06,942 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:52:07,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:07,068 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-19 21:52:07,074 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:07,131 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:52:07,131 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-19 21:52:07,141 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:52:07,141 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_165|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_165| ULTIMATE.start_main_p1))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_165| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:52:07,141 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:52:07,242 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:07,243 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:07,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:07,245 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:07,247 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:07,248 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:07,249 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:07,250 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:07,251 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 111 [2018-12-19 21:52:07,257 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:07,317 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:52:07,317 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:81, output treesize:55 [2018-12-19 21:52:09,601 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:52:09,601 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_166|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_166| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_166| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_166| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_166| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_166| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (= (select |v_#memory_int_166| ULTIMATE.start_main_p5) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_166| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:52:09,601 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:52:09,704 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,705 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,712 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,715 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:09,718 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:52:09,719 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 118 [2018-12-19 21:52:09,724 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:09,783 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:52:09,784 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2018-12-19 21:52:09,881 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:52:09,881 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_167|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_167| ULTIMATE.start_main_p4))) (and (= 0 (+ (select |v_#memory_int_167| ULTIMATE.start_main_p6) 1)) (= (select |v_#memory_int_167| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_167| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_167| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_167| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_167| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:52:09,882 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:52:09,929 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13247#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:52:09,932 INFO L273 TraceCheckUtils]: 1: Hoare triple {13247#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13251#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:52:09,936 INFO L273 TraceCheckUtils]: 2: Hoare triple {13251#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13255#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:52:09,940 INFO L273 TraceCheckUtils]: 3: Hoare triple {13255#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13259#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:52:09,941 INFO L273 TraceCheckUtils]: 4: Hoare triple {13259#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2018-12-19 21:52:09,941 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:52:09,942 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:52:09,988 INFO L273 TraceCheckUtils]: 4: Hoare triple {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2018-12-19 21:52:09,989 INFO L273 TraceCheckUtils]: 3: Hoare triple {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:52:09,990 INFO L273 TraceCheckUtils]: 2: Hoare triple {13269#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:52:09,992 INFO L273 TraceCheckUtils]: 1: Hoare triple {13273#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13269#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:52:09,994 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13273#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:52:09,995 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:52:10,013 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:52:10,013 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 10 [2018-12-19 21:52:10,013 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:52:10,014 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:52:10,014 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:52:10,014 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:52:10,032 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:52:10,032 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:52:10,032 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:52:10,032 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=83, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:52:10,032 INFO L87 Difference]: Start difference. First operand 128 states and 760 transitions. Second operand 10 states. [2018-12-19 21:52:15,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:52:15,657 INFO L93 Difference]: Finished difference Result 241 states and 1191 transitions. [2018-12-19 21:52:15,657 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-12-19 21:52:15,657 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:52:15,658 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:52:15,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:52:15,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 127 transitions. [2018-12-19 21:52:15,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:52:15,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 127 transitions. [2018-12-19 21:52:15,659 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 127 transitions. [2018-12-19 21:52:15,859 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:52:15,865 INFO L225 Difference]: With dead ends: 241 [2018-12-19 21:52:15,865 INFO L226 Difference]: Without dead ends: 235 [2018-12-19 21:52:15,865 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=72, Invalid=138, Unknown=0, NotChecked=0, Total=210 [2018-12-19 21:52:15,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2018-12-19 21:52:17,435 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 164. [2018-12-19 21:52:17,435 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:52:17,435 INFO L82 GeneralOperation]: Start isEquivalent. First operand 235 states. Second operand 164 states. [2018-12-19 21:52:17,435 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand 164 states. [2018-12-19 21:52:17,435 INFO L87 Difference]: Start difference. First operand 235 states. Second operand 164 states. [2018-12-19 21:52:17,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:52:17,443 INFO L93 Difference]: Finished difference Result 235 states and 1172 transitions. [2018-12-19 21:52:17,443 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 1172 transitions. [2018-12-19 21:52:17,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:52:17,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:52:17,444 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 235 states. [2018-12-19 21:52:17,444 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 235 states. [2018-12-19 21:52:17,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:52:17,451 INFO L93 Difference]: Finished difference Result 235 states and 1172 transitions. [2018-12-19 21:52:17,451 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 1172 transitions. [2018-12-19 21:52:17,452 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:52:17,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:52:17,452 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:52:17,452 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:52:17,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 164 states. [2018-12-19 21:52:17,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 1007 transitions. [2018-12-19 21:52:17,457 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 1007 transitions. Word has length 5 [2018-12-19 21:52:17,457 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:52:17,457 INFO L480 AbstractCegarLoop]: Abstraction has 164 states and 1007 transitions. [2018-12-19 21:52:17,457 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:52:17,458 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 1007 transitions. [2018-12-19 21:52:17,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:52:17,458 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:52:17,458 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:52:17,458 INFO L423 AbstractCegarLoop]: === Iteration 29 === [ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:52:17,458 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:52:17,459 INFO L82 PathProgramCache]: Analyzing trace with hash 28831858, now seen corresponding path program 1 times [2018-12-19 21:52:17,459 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:52:17,459 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:52:17,459 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:52:17,459 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:52:17,459 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:52:17,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:52:17,621 INFO L273 TraceCheckUtils]: 0: Hoare triple {14451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:52:17,622 INFO L273 TraceCheckUtils]: 1: Hoare triple {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:52:17,623 INFO L273 TraceCheckUtils]: 2: Hoare triple {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {14454#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:52:17,624 INFO L273 TraceCheckUtils]: 3: Hoare triple {14454#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {14455#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:52:17,624 INFO L273 TraceCheckUtils]: 4: Hoare triple {14455#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14452#false} is VALID [2018-12-19 21:52:17,625 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:52:17,625 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:52:17,625 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:52:17,625 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:52:17,626 INFO L207 CegarAbsIntRunner]: [0], [6], [24], [28], [29] [2018-12-19 21:52:17,626 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 21:52:17,627 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:52:18,520 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:52:18,521 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:52:18,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:52:18,521 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:52:18,521 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:52:18,521 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:52:18,530 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:52:18,531 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:52:18,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:52:18,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:52:18,541 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:52:18,589 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:52:18,598 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:52:18,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,608 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:52:18,619 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,622 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:52:18,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,639 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,641 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,642 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,642 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:52:18,669 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:52:18,674 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:18,707 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:18,729 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:18,768 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:18,785 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:18,800 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:18,830 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,831 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:52:18,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,884 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:52:18,942 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,943 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,945 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,946 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:18,946 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:52:19,016 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:19,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:19,019 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:19,020 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:19,021 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:19,022 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:19,023 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:52:19,026 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:19,043 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:19,060 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:19,078 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:52:19,121 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:52:19,121 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:52:19,131 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:52:19,131 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_171|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_35|]. (let ((.cse0 (store |v_#valid_35| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_171| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= (select .cse1 ULTIMATE.start_main_p4) 0))))) [2018-12-19 21:52:19,131 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:52:19,442 WARN L181 SmtUtils]: Spent 291.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-12-19 21:52:19,595 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:19,604 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 11 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 41 treesize of output 81 [2018-12-19 21:52:19,610 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-19 21:52:19,730 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 7 dim-0 vars, and 2 xjuncts. [2018-12-19 21:52:19,730 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:81, output treesize:106 [2018-12-19 21:52:21,945 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:52:21,945 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_172|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_172| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_172| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_172| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_172| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:52:21,946 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, v_prenex_6, v_prenex_4, v_prenex_5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p6)) (.cse0 (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= v_prenex_6 v_prenex_4)) (not (= v_prenex_6 v_prenex_5)) (= 0 (select |#memory_int| v_prenex_5)) (not (= ULTIMATE.start_main_p2 v_prenex_5)) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= v_prenex_5 v_prenex_4)) .cse0 (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (= 0 .cse1)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 .cse1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) .cse0 (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) [2018-12-19 21:52:22,239 WARN L181 SmtUtils]: Spent 262.00 ms on a formula simplification that was a NOOP. DAG size: 63 [2018-12-19 21:52:22,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,319 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,320 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,321 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,322 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,322 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:52:22,323 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 72 [2018-12-19 21:52:22,327 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:52:22,408 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,414 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,416 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,418 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,420 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,421 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,422 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:52:22,453 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 14 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 65 treesize of output 107 [2018-12-19 21:52:22,463 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 16 xjuncts. [2018-12-19 21:52:22,813 INFO L267 ElimStorePlain]: Start of recursive call 1: 9 dim-0 vars, 2 dim-1 vars, End of recursive call: 25 dim-0 vars, and 6 xjuncts. [2018-12-19 21:52:22,814 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 11 variables, input treesize:126, output treesize:280 [2018-12-19 21:52:25,421 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:52:25,421 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_8, v_prenex_7, v_prenex_6, v_prenex_5, v_prenex_4, ULTIMATE.start_main_p1, |v_#memory_int_173|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (or (let ((.cse0 (select v_prenex_8 v_prenex_7))) (and (= 0 .cse0) (= (store v_prenex_8 v_prenex_7 (+ .cse0 (- 1))) |#memory_int|) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (= 0 (select v_prenex_8 ULTIMATE.start_main_p2)) (= 0 (select v_prenex_8 v_prenex_5)) (not (= v_prenex_6 v_prenex_5)) (= 0 (select v_prenex_8 v_prenex_4)) (not (= v_prenex_6 v_prenex_4)) (= 0 (select v_prenex_8 v_prenex_6)) (= 1 (select v_prenex_8 ULTIMATE.start_main_p1)) (not (= v_prenex_5 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_5)))) (let ((.cse1 (select |v_#memory_int_173| ULTIMATE.start_main_p6))) (and (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_173| ULTIMATE.start_main_p6 (+ .cse1 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p2)) (= 1 .cse1) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p3))))) [2018-12-19 21:52:25,422 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_20, v_prenex_21, v_prenex_23, v_prenex_24, v_prenex_22, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, v_prenex_16, v_prenex_17, v_prenex_18, v_prenex_19, ULTIMATE.start_main_p1, v_prenex_6, v_prenex_4, v_prenex_5, v_prenex_15, v_prenex_13, v_prenex_14, v_prenex_7, v_prenex_12, v_prenex_9, v_prenex_10, v_prenex_11]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p2))) (let ((.cse0 (= 0 .cse1))) (or (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) .cse0 (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) (and (= (select |#memory_int| v_prenex_20) 1) (not (= v_prenex_21 v_prenex_23)) (= (select |#memory_int| v_prenex_21) 0) (not (= v_prenex_24 v_prenex_23)) (= (select |#memory_int| v_prenex_23) 0) (= (select |#memory_int| v_prenex_22) (- 1)) .cse0 (not (= v_prenex_21 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_23)) (not (= ULTIMATE.start_main_p2 v_prenex_24)) (not (= v_prenex_21 v_prenex_24)) (= (select |#memory_int| v_prenex_24) 0)) (and (= (select |#memory_int| v_prenex_16) 1) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (= 0 (+ .cse1 1)) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_17 v_prenex_19)) (= (select |#memory_int| v_prenex_19) 0)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) .cse0 (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (= (+ (select |#memory_int| v_prenex_5) 1) 0)) (and (= (select |#memory_int| v_prenex_15) 1) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (= (select |#memory_int| v_prenex_7) (- 1)) .cse0 (not (= ULTIMATE.start_main_p2 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0)) (and (= (select |#memory_int| v_prenex_12) 1) (= (select |#memory_int| v_prenex_9) 0) (= (+ (select |#memory_int| v_prenex_10) 1) 0) .cse0 (not (= v_prenex_9 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_11)) (not (= v_prenex_9 v_prenex_11)) (= (select |#memory_int| v_prenex_11) 0))))) [2018-12-19 21:52:29,047 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2018-12-19 21:52:29,248 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 29 z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:52:29,250 FATAL L265 ToolchainWalker]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseCheckSatResult(Executor.java:225) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.checkSat(Scriptor.java:155) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.logic.Util.checkSat(Util.java:61) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA.getRedundancy(SimplifyDDA.java:626) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SimplifyDDAWithTimeout.getRedundancy(SimplifyDDAWithTimeout.java:122) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA$Simplifier.walk(SimplifyDDA.java:371) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA.simplifyOnce(SimplifyDDA.java:650) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SimplifyDDAWithTimeout.getSimplifiedTerm(SimplifyDDAWithTimeout.java:187) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SmtUtils.simplify(SmtUtils.java:152) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:360) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:305) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp$UnifyPostprocessor.postprocess(TraceCheckSpWp.java:575) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseTaipanRefinementStrategy.getTraceCheck(BaseTaipanRefinementStrategy.java:215) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1427) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:630) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:419) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:205) ... 45 more [2018-12-19 21:52:29,255 INFO L168 Benchmark]: Toolchain (without parser) took 229427.87 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.0 GB). Free memory was 1.5 GB in the beginning and 1.6 GB in the end (delta: -137.8 MB). Peak memory consumption was 890.9 MB. Max. memory is 7.1 GB. [2018-12-19 21:52:29,256 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-19 21:52:29,256 INFO L168 Benchmark]: Boogie Procedure Inliner took 79.08 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-19 21:52:29,257 INFO L168 Benchmark]: Boogie Preprocessor took 43.09 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-19 21:52:29,257 INFO L168 Benchmark]: RCFGBuilder took 765.24 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. [2018-12-19 21:52:29,257 INFO L168 Benchmark]: TraceAbstraction took 228535.86 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.0 GB). Free memory was 1.4 GB in the beginning and 1.6 GB in the end (delta: -169.5 MB). Peak memory consumption was 859.2 MB. Max. memory is 7.1 GB. [2018-12-19 21:52:29,259 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.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 79.08 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 43.09 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 765.24 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 228535.86 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.0 GB). Free memory was 1.4 GB in the beginning and 1.6 GB in the end (delta: -169.5 MB). Peak memory consumption was 859.2 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...