java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerBplInline.xml -s ../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf -i ../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-limited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-fb97592 [2018-12-19 21:22:20,990 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-12-19 21:22:20,992 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-12-19 21:22:21,004 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-12-19 21:22:21,005 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-12-19 21:22:21,006 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-12-19 21:22:21,007 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-12-19 21:22:21,009 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-12-19 21:22:21,011 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-12-19 21:22:21,012 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-12-19 21:22:21,013 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-12-19 21:22:21,013 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-12-19 21:22:21,014 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-12-19 21:22:21,015 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-12-19 21:22:21,016 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-12-19 21:22:21,017 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-12-19 21:22:21,018 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-12-19 21:22:21,019 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-12-19 21:22:21,022 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-12-19 21:22:21,023 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-12-19 21:22:21,024 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-12-19 21:22:21,026 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-12-19 21:22:21,028 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-12-19 21:22:21,029 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-12-19 21:22:21,029 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-12-19 21:22:21,030 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-12-19 21:22:21,031 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-12-19 21:22:21,032 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-12-19 21:22:21,033 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-12-19 21:22:21,034 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-12-19 21:22:21,034 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-12-19 21:22:21,035 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-12-19 21:22:21,035 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-12-19 21:22:21,036 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-12-19 21:22:21,037 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-12-19 21:22:21,038 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-12-19 21:22:21,038 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf [2018-12-19 21:22:21,051 INFO L110 SettingsManager]: Loading preferences was successful [2018-12-19 21:22:21,051 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-12-19 21:22:21,052 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2018-12-19 21:22:21,052 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2018-12-19 21:22:21,052 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-12-19 21:22:21,052 INFO L133 SettingsManager]: * User list type=DISABLED [2018-12-19 21:22:21,053 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2018-12-19 21:22:21,053 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-12-19 21:22:21,053 INFO L133 SettingsManager]: * Explicit value domain=true [2018-12-19 21:22:21,053 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-12-19 21:22:21,053 INFO L133 SettingsManager]: * Octagon Domain=false [2018-12-19 21:22:21,054 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-12-19 21:22:21,054 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-12-19 21:22:21,054 INFO L133 SettingsManager]: * Interval Domain=false [2018-12-19 21:22:21,055 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-12-19 21:22:21,055 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-12-19 21:22:21,055 INFO L133 SettingsManager]: * Use SBE=true [2018-12-19 21:22:21,055 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-12-19 21:22:21,056 INFO L133 SettingsManager]: * sizeof long=4 [2018-12-19 21:22:21,056 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-12-19 21:22:21,056 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-12-19 21:22:21,056 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-12-19 21:22:21,056 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-12-19 21:22:21,057 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-12-19 21:22:21,057 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-12-19 21:22:21,057 INFO L133 SettingsManager]: * sizeof long double=12 [2018-12-19 21:22:21,057 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-12-19 21:22:21,057 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-12-19 21:22:21,058 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-12-19 21:22:21,058 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-12-19 21:22:21,058 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-12-19 21:22:21,058 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-19 21:22:21,058 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-12-19 21:22:21,059 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-12-19 21:22:21,059 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-12-19 21:22:21,059 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-12-19 21:22:21,059 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-12-19 21:22:21,059 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-12-19 21:22:21,060 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-12-19 21:22:21,060 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2018-12-19 21:22:21,090 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-12-19 21:22:21,103 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-12-19 21:22:21,107 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-12-19 21:22:21,108 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2018-12-19 21:22:21,109 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2018-12-19 21:22:21,110 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-limited.bpl [2018-12-19 21:22:21,110 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-limited.bpl' [2018-12-19 21:22:21,156 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-12-19 21:22:21,157 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-12-19 21:22:21,158 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-12-19 21:22:21,158 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-12-19 21:22:21,159 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-12-19 21:22:21,176 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:22:21" (1/1) ... [2018-12-19 21:22:21,189 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:22:21" (1/1) ... [2018-12-19 21:22:21,219 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-12-19 21:22:21,220 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-12-19 21:22:21,220 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-12-19 21:22:21,221 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-12-19 21:22:21,233 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:22:21" (1/1) ... [2018-12-19 21:22:21,233 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:22:21" (1/1) ... [2018-12-19 21:22:21,235 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:22:21" (1/1) ... [2018-12-19 21:22:21,235 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:22:21" (1/1) ... [2018-12-19 21:22:21,239 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:22:21" (1/1) ... [2018-12-19 21:22:21,243 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:22:21" (1/1) ... [2018-12-19 21:22:21,244 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:22:21" (1/1) ... [2018-12-19 21:22:21,246 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-12-19 21:22:21,247 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-12-19 21:22:21,247 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-12-19 21:22:21,247 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-12-19 21:22:21,248 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:22:21" (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:22:21,321 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-12-19 21:22:21,321 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-12-19 21:22:22,028 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-12-19 21:22:22,028 INFO L280 CfgBuilder]: Removed 13 assue(true) statements. [2018-12-19 21:22:22,029 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 09:22:22 BoogieIcfgContainer [2018-12-19 21:22:22,029 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-12-19 21:22:22,030 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-12-19 21:22:22,030 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-12-19 21:22:22,033 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-12-19 21:22:22,034 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:22:21" (1/2) ... [2018-12-19 21:22:22,035 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6770ef9a and model type speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.12 09:22:22, skipping insertion in model container [2018-12-19 21:22:22,035 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 09:22:22" (2/2) ... [2018-12-19 21:22:22,037 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-5-limited.bpl [2018-12-19 21:22:22,047 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-12-19 21:22:22,055 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 5 error locations. [2018-12-19 21:22:22,073 INFO L257 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2018-12-19 21:22:22,108 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-12-19 21:22:22,109 INFO L383 AbstractCegarLoop]: Hoare is true [2018-12-19 21:22:22,109 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-12-19 21:22:22,109 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-12-19 21:22:22,109 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-12-19 21:22:22,109 INFO L387 AbstractCegarLoop]: Difference is false [2018-12-19 21:22:22,110 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-12-19 21:22:22,110 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-12-19 21:22:22,126 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states. [2018-12-19 21:22:22,132 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2018-12-19 21:22:22,132 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:22:22,133 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2018-12-19 21:22:22,136 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:22:22,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:22,143 INFO L82 PathProgramCache]: Analyzing trace with hash 984, now seen corresponding path program 1 times [2018-12-19 21:22:22,145 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:22:22,203 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:22,204 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:22,204 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:22,204 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:22:22,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:22,379 INFO L273 TraceCheckUtils]: 0: Hoare triple {16#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:22:22,383 INFO L273 TraceCheckUtils]: 1: Hoare triple {18#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {17#false} is VALID [2018-12-19 21:22:22,386 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:22:22,388 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-19 21:22:22,388 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-19 21:22:22,388 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:22:22,392 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-19 21:22:22,394 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:22:22,397 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-19 21:22:22,428 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:22:22,428 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-19 21:22:22,436 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-19 21:22:22,437 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:22:22,439 INFO L87 Difference]: Start difference. First operand 13 states. Second operand 3 states. [2018-12-19 21:22:22,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:22,914 INFO L93 Difference]: Finished difference Result 25 states and 33 transitions. [2018-12-19 21:22:22,914 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:22:22,914 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-19 21:22:22,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:22:22,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:22:22,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2018-12-19 21:22:22,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:22:22,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2018-12-19 21:22:22,925 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 33 transitions. [2018-12-19 21:22:23,027 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:22:23,039 INFO L225 Difference]: With dead ends: 25 [2018-12-19 21:22:23,039 INFO L226 Difference]: Without dead ends: 20 [2018-12-19 21:22:23,043 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:22:23,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-12-19 21:22:23,123 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 12. [2018-12-19 21:22:23,123 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:22:23,124 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 12 states. [2018-12-19 21:22:23,125 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 12 states. [2018-12-19 21:22:23,125 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 12 states. [2018-12-19 21:22:23,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:23,133 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2018-12-19 21:22:23,134 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2018-12-19 21:22:23,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:23,135 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:23,135 INFO L74 IsIncluded]: Start isIncluded. First operand 12 states. Second operand 20 states. [2018-12-19 21:22:23,135 INFO L87 Difference]: Start difference. First operand 12 states. Second operand 20 states. [2018-12-19 21:22:23,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:23,139 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2018-12-19 21:22:23,140 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2018-12-19 21:22:23,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:23,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:23,145 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:22:23,146 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:22:23,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:22:23,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 21 transitions. [2018-12-19 21:22:23,153 INFO L78 Accepts]: Start accepts. Automaton has 12 states and 21 transitions. Word has length 2 [2018-12-19 21:22:23,153 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:22:23,154 INFO L480 AbstractCegarLoop]: Abstraction has 12 states and 21 transitions. [2018-12-19 21:22:23,154 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-19 21:22:23,154 INFO L276 IsEmpty]: Start isEmpty. Operand 12 states and 21 transitions. [2018-12-19 21:22:23,155 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:22:23,155 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:22:23,155 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:22:23,156 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:22:23,157 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:23,157 INFO L82 PathProgramCache]: Analyzing trace with hash 30372, now seen corresponding path program 1 times [2018-12-19 21:22:23,157 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:22:23,158 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:23,159 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:23,159 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:23,160 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:22:23,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:23,541 WARN L181 SmtUtils]: Spent 140.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 13 [2018-12-19 21:22:23,568 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {104#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:22:23,570 INFO L273 TraceCheckUtils]: 1: Hoare triple {104#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {105#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:22:23,589 INFO L273 TraceCheckUtils]: 2: Hoare triple {105#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2018-12-19 21:22:23,590 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:22:23,590 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:23,590 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:22:23,592 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:22:23,593 INFO L207 CegarAbsIntRunner]: [0], [18], [23] [2018-12-19 21:22:23,633 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:22:23,633 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:22:23,736 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:22:23,737 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:22:23,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:23,743 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:22:23,743 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:23,743 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:22:23,753 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:23,753 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:22:23,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:23,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:23,808 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:22:23,993 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:22:24,014 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:24,016 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:22:24,048 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:24,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:24,053 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:22:24,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:24,140 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:24,141 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:24,143 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:22:24,392 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:24,415 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:24,442 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:24,457 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:24,459 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:22:24,486 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:24,664 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:24,701 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:24,741 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:24,756 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:24,794 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:22:24,794 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-19 21:22:24,803 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:24,803 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_27| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:22:24,804 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:22:25,076 WARN L181 SmtUtils]: Spent 110.00 ms on a formula simplification that was a NOOP. DAG size: 26 [2018-12-19 21:22:25,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:25,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:25,148 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:25,155 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:25,156 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:25,157 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:25,158 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:25,159 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:25,160 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:25,162 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:25,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:25,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, 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:22:25,193 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:25,251 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:22:25,252 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:22:27,290 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:27,291 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_28|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_28| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_28| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_28| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 0))) [2018-12-19 21:22:27,291 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:27,386 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:22:27,390 INFO L273 TraceCheckUtils]: 1: Hoare triple {109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {113#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:22:27,394 INFO L273 TraceCheckUtils]: 2: Hoare triple {113#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2018-12-19 21:22:27,394 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:22:27,395 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:22:27,484 INFO L273 TraceCheckUtils]: 2: Hoare triple {117#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2018-12-19 21:22:27,485 INFO L273 TraceCheckUtils]: 1: Hoare triple {121#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {117#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:27,487 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {121#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:27,488 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:22:27,508 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:22:27,508 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:22:27,508 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:22:27,509 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:22:27,509 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:22:27,510 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:22:27,527 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:22:27,527 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:22:27,528 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:22:27,528 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:22:27,528 INFO L87 Difference]: Start difference. First operand 12 states and 21 transitions. Second operand 6 states. [2018-12-19 21:22:27,758 WARN L181 SmtUtils]: Spent 134.00 ms on a formula simplification. DAG size of input: 33 DAG size of output: 31 [2018-12-19 21:22:28,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:28,357 INFO L93 Difference]: Finished difference Result 39 states and 56 transitions. [2018-12-19 21:22:28,357 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:22:28,357 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:22:28,357 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:22:28,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:22:28,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-19 21:22:28,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:22:28,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-19 21:22:28,362 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2018-12-19 21:22:28,529 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:22:28,532 INFO L225 Difference]: With dead ends: 39 [2018-12-19 21:22:28,532 INFO L226 Difference]: Without dead ends: 37 [2018-12-19 21:22:28,533 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:22:28,533 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-12-19 21:22:28,554 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 16. [2018-12-19 21:22:28,555 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:22:28,555 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 16 states. [2018-12-19 21:22:28,555 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 16 states. [2018-12-19 21:22:28,555 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 16 states. [2018-12-19 21:22:28,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:28,559 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2018-12-19 21:22:28,560 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2018-12-19 21:22:28,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:28,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:28,561 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 37 states. [2018-12-19 21:22:28,561 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 37 states. [2018-12-19 21:22:28,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:28,564 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2018-12-19 21:22:28,564 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2018-12-19 21:22:28,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:28,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:28,565 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:22:28,565 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:22:28,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-12-19 21:22:28,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 32 transitions. [2018-12-19 21:22:28,567 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 32 transitions. Word has length 3 [2018-12-19 21:22:28,568 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:22:28,568 INFO L480 AbstractCegarLoop]: Abstraction has 16 states and 32 transitions. [2018-12-19 21:22:28,568 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:22:28,568 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 32 transitions. [2018-12-19 21:22:28,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:22:28,569 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:22:28,569 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:22:28,569 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:22:28,569 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:28,570 INFO L82 PathProgramCache]: Analyzing trace with hash 30434, now seen corresponding path program 1 times [2018-12-19 21:22:28,570 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:22:28,571 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:28,571 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:28,571 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:28,571 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:22:28,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:28,673 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {264#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:22:28,678 INFO L273 TraceCheckUtils]: 1: Hoare triple {264#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {265#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:22:28,681 INFO L273 TraceCheckUtils]: 2: Hoare triple {265#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-19 21:22:28,682 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:22:28,682 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:28,682 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:22:28,682 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:22:28,682 INFO L207 CegarAbsIntRunner]: [0], [20], [23] [2018-12-19 21:22:28,684 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:22:28,684 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:22:28,704 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:22:28,704 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:22:28,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:28,705 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:22:28,705 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:28,705 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:22:28,713 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:28,714 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:22:28,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:28,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:28,731 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:22:28,767 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:22:28,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:28,781 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:22:28,804 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:28,806 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:28,807 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:22:28,831 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:28,833 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:28,835 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:28,837 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:22:28,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:28,865 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:28,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:28,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:28,878 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:22:28,885 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:28,919 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:28,941 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:28,956 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:28,969 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:28,999 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:22:29,000 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-19 21:22:29,012 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:29,012 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_30|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_30| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:22:29,012 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:22:29,094 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:29,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:29,096 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:29,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:29,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:29,120 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:29,142 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:29,164 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:29,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:29,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:29,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:29,174 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:22:29,177 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:29,262 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:22:29,262 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:22:31,269 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:31,270 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_31|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_31| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_31| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_31| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_31| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (store |v_#memory_int_31| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_31| ULTIMATE.start_main_p1) 0))) [2018-12-19 21:22:31,270 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:31,334 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:22:31,338 INFO L273 TraceCheckUtils]: 1: Hoare triple {269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:22:31,339 INFO L273 TraceCheckUtils]: 2: Hoare triple {273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-19 21:22:31,340 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:22:31,340 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:22:31,363 INFO L273 TraceCheckUtils]: 2: Hoare triple {277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-19 21:22:31,366 INFO L273 TraceCheckUtils]: 1: Hoare triple {281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:31,369 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:31,369 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:22:31,390 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-19 21:22:31,390 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2018-12-19 21:22:31,390 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:22:31,390 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-19 21:22:31,391 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:22:31,391 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:22:31,407 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:22:31,407 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:22:31,407 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:22:31,408 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:22:31,408 INFO L87 Difference]: Start difference. First operand 16 states and 32 transitions. Second operand 4 states. [2018-12-19 21:22:31,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:31,543 INFO L93 Difference]: Finished difference Result 18 states and 39 transitions. [2018-12-19 21:22:31,543 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:22:31,543 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-19 21:22:31,543 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:22:31,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:22:31,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2018-12-19 21:22:31,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:22:31,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2018-12-19 21:22:31,546 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 22 transitions. [2018-12-19 21:22:31,614 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:22:31,615 INFO L225 Difference]: With dead ends: 18 [2018-12-19 21:22:31,616 INFO L226 Difference]: Without dead ends: 17 [2018-12-19 21:22:31,616 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:22:31,617 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17 states. [2018-12-19 21:22:31,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17 to 17. [2018-12-19 21:22:31,656 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:22:31,656 INFO L82 GeneralOperation]: Start isEquivalent. First operand 17 states. Second operand 17 states. [2018-12-19 21:22:31,656 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2018-12-19 21:22:31,657 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2018-12-19 21:22:31,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:31,659 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2018-12-19 21:22:31,660 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-19 21:22:31,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:31,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:31,660 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2018-12-19 21:22:31,661 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2018-12-19 21:22:31,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:31,663 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2018-12-19 21:22:31,663 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-19 21:22:31,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:31,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:31,664 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:22:31,664 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:22:31,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-12-19 21:22:31,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 38 transitions. [2018-12-19 21:22:31,666 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 38 transitions. Word has length 3 [2018-12-19 21:22:31,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:22:31,666 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 38 transitions. [2018-12-19 21:22:31,666 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:22:31,666 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-19 21:22:31,667 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:22:31,667 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:22:31,667 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:22:31,667 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:22:31,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:31,668 INFO L82 PathProgramCache]: Analyzing trace with hash 30560, now seen corresponding path program 1 times [2018-12-19 21:22:31,668 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:22:31,669 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:31,669 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:31,669 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:31,669 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:22:31,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:31,764 INFO L273 TraceCheckUtils]: 0: Hoare triple {361#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:31,765 INFO L273 TraceCheckUtils]: 1: Hoare triple {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:31,767 INFO L273 TraceCheckUtils]: 2: Hoare triple {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {362#false} is VALID [2018-12-19 21:22:31,767 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:22:31,767 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-19 21:22:31,767 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-19 21:22:31,768 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:22:31,768 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-19 21:22:31,768 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:22:31,768 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-19 21:22:31,772 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:22:31,772 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-19 21:22:31,772 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-19 21:22:31,772 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:22:31,773 INFO L87 Difference]: Start difference. First operand 17 states and 38 transitions. Second operand 3 states. [2018-12-19 21:22:31,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:31,917 INFO L93 Difference]: Finished difference Result 21 states and 39 transitions. [2018-12-19 21:22:31,918 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:22:31,918 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-19 21:22:31,918 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:22:31,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:22:31,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2018-12-19 21:22:31,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:22:31,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2018-12-19 21:22:31,921 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 27 transitions. [2018-12-19 21:22:31,968 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:22:31,969 INFO L225 Difference]: With dead ends: 21 [2018-12-19 21:22:31,969 INFO L226 Difference]: Without dead ends: 20 [2018-12-19 21:22:31,970 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:22:31,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-12-19 21:22:32,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 17. [2018-12-19 21:22:32,012 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:22:32,012 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 17 states. [2018-12-19 21:22:32,012 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 17 states. [2018-12-19 21:22:32,013 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 17 states. [2018-12-19 21:22:32,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:32,015 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2018-12-19 21:22:32,015 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2018-12-19 21:22:32,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:32,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:32,016 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 20 states. [2018-12-19 21:22:32,016 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 20 states. [2018-12-19 21:22:32,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:32,018 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2018-12-19 21:22:32,018 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2018-12-19 21:22:32,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:32,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:32,019 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:22:32,019 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:22:32,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-12-19 21:22:32,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 37 transitions. [2018-12-19 21:22:32,021 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 37 transitions. Word has length 3 [2018-12-19 21:22:32,021 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:22:32,021 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 37 transitions. [2018-12-19 21:22:32,021 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-19 21:22:32,022 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 37 transitions. [2018-12-19 21:22:32,022 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:22:32,022 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:22:32,022 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:22:32,023 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:22:32,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:32,023 INFO L82 PathProgramCache]: Analyzing trace with hash 30124, now seen corresponding path program 1 times [2018-12-19 21:22:32,023 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:22:32,024 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:32,024 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:32,024 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:32,025 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:22:32,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:32,138 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:22:32,140 INFO L273 TraceCheckUtils]: 1: Hoare triple {454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {455#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:22:32,140 INFO L273 TraceCheckUtils]: 2: Hoare triple {455#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2018-12-19 21:22:32,141 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:22:32,141 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:32,141 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:22:32,141 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:22:32,142 INFO L207 CegarAbsIntRunner]: [0], [10], [23] [2018-12-19 21:22:32,144 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:22:32,144 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:22:32,163 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:22:32,163 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:22:32,163 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:32,164 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:22:32,164 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:32,164 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:22:32,172 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:32,173 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:22:32,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:32,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:32,183 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:22:32,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, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:22:32,236 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,237 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:22:32,269 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,270 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,271 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:22:32,289 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,294 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:22:32,333 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,335 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,340 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:22:32,345 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:32,383 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:32,403 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:32,418 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:32,437 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:32,464 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:22:32,464 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-19 21:22:32,478 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:32,478 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_33| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:32,478 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:32,599 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,602 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,611 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,617 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:32,619 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:22:32,626 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:32,687 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:22:32,688 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:22:34,698 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:34,699 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_34|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_34| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_34| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_34| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= (select |v_#memory_int_34| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_34| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_34| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:22:34,699 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:34,776 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {459#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:22:34,798 INFO L273 TraceCheckUtils]: 1: Hoare triple {459#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {463#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:22:34,813 INFO L273 TraceCheckUtils]: 2: Hoare triple {463#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2018-12-19 21:22:34,813 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:22:34,814 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:22:34,846 INFO L273 TraceCheckUtils]: 2: Hoare triple {467#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2018-12-19 21:22:34,847 INFO L273 TraceCheckUtils]: 1: Hoare triple {471#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {467#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:34,849 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {471#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:34,850 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:22:34,870 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:22:34,871 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:22:34,871 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:22:34,871 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:22:34,871 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:22:34,871 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:22:34,884 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:22:34,884 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:22:34,884 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:22:34,884 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:22:34,884 INFO L87 Difference]: Start difference. First operand 17 states and 37 transitions. Second operand 6 states. [2018-12-19 21:22:35,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:35,581 INFO L93 Difference]: Finished difference Result 39 states and 66 transitions. [2018-12-19 21:22:35,581 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:22:35,581 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:22:35,581 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:22:35,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:22:35,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2018-12-19 21:22:35,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:22:35,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2018-12-19 21:22:35,584 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 54 transitions. [2018-12-19 21:22:35,785 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:22:35,786 INFO L225 Difference]: With dead ends: 39 [2018-12-19 21:22:35,787 INFO L226 Difference]: Without dead ends: 38 [2018-12-19 21:22:35,787 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:22:35,787 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-12-19 21:22:35,871 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 18. [2018-12-19 21:22:35,871 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:22:35,871 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 18 states. [2018-12-19 21:22:35,871 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 18 states. [2018-12-19 21:22:35,872 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 18 states. [2018-12-19 21:22:35,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:35,874 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2018-12-19 21:22:35,874 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2018-12-19 21:22:35,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:35,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:35,875 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 38 states. [2018-12-19 21:22:35,875 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 38 states. [2018-12-19 21:22:35,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:35,878 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2018-12-19 21:22:35,878 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2018-12-19 21:22:35,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:35,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:35,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:22:35,879 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:22:35,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-12-19 21:22:35,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 43 transitions. [2018-12-19 21:22:35,881 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 43 transitions. Word has length 3 [2018-12-19 21:22:35,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:22:35,881 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 43 transitions. [2018-12-19 21:22:35,881 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:22:35,881 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 43 transitions. [2018-12-19 21:22:35,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:22:35,882 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:22:35,882 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:22:35,882 INFO L423 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:22:35,882 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:35,883 INFO L82 PathProgramCache]: Analyzing trace with hash 941462, now seen corresponding path program 1 times [2018-12-19 21:22:35,883 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:22:35,884 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:35,884 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:35,884 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:35,884 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:22:35,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:36,137 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {622#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:22:36,139 INFO L273 TraceCheckUtils]: 1: Hoare triple {622#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {623#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:22:36,140 INFO L273 TraceCheckUtils]: 2: Hoare triple {623#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {624#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:22:36,141 INFO L273 TraceCheckUtils]: 3: Hoare triple {624#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2018-12-19 21:22:36,142 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:22:36,142 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:36,142 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:22:36,142 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:22:36,143 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [23] [2018-12-19 21:22:36,146 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:22:36,146 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:22:36,164 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:22:36,165 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:22:36,165 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:36,166 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:22:36,166 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:36,166 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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:22:36,175 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:36,175 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:22:36,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:36,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:36,187 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:22:36,316 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:22:36,329 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,330 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:22:36,344 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,346 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,348 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:22:36,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,418 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,420 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,422 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:22:36,458 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,462 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,464 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:22:36,468 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:36,502 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:36,525 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:36,538 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:36,551 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:36,575 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:22:36,575 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:22:36,587 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:36,587 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_36| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:22:36,587 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:22:36,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,663 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,666 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,668 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,669 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,671 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,677 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,678 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,679 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,680 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:36,682 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:22:36,696 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:36,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:22:36,768 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:22:38,291 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:38,291 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_37| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_37| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_37| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:22:38,292 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:38,560 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,562 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,563 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,564 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,566 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,568 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,570 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,571 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,573 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,574 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,576 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,577 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,579 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:38,581 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:22:38,590 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:38,648 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:22:38,649 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:22:40,659 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:40,659 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_38| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_38| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (= (select |v_#memory_int_38| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_38| ULTIMATE.start_main_p5 (+ .cse0 1))))) [2018-12-19 21:22:40,659 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:40,752 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {628#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:22:40,755 INFO L273 TraceCheckUtils]: 1: Hoare triple {628#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {632#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:22:40,761 INFO L273 TraceCheckUtils]: 2: Hoare triple {632#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {636#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:22:40,762 INFO L273 TraceCheckUtils]: 3: Hoare triple {636#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2018-12-19 21:22:40,762 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:22:40,762 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:22:40,991 INFO L273 TraceCheckUtils]: 3: Hoare triple {640#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2018-12-19 21:22:40,994 INFO L273 TraceCheckUtils]: 2: Hoare triple {644#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {640#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:40,995 INFO L273 TraceCheckUtils]: 1: Hoare triple {648#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {644#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:40,996 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {648#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:40,997 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:22:41,017 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:22:41,017 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:22:41,018 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:22:41,018 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:22:41,018 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:22:41,018 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:22:41,041 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:22:41,041 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:22:41,041 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:22:41,042 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:22:41,042 INFO L87 Difference]: Start difference. First operand 18 states and 43 transitions. Second operand 8 states. [2018-12-19 21:22:42,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:42,221 INFO L93 Difference]: Finished difference Result 49 states and 91 transitions. [2018-12-19 21:22:42,221 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:22:42,222 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:22:42,222 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:22:42,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:22:42,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2018-12-19 21:22:42,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:22:42,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2018-12-19 21:22:42,224 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 67 transitions. [2018-12-19 21:22:42,391 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:22:42,393 INFO L225 Difference]: With dead ends: 49 [2018-12-19 21:22:42,393 INFO L226 Difference]: Without dead ends: 44 [2018-12-19 21:22:42,394 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:22:42,394 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-12-19 21:22:42,440 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 22. [2018-12-19 21:22:42,440 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:22:42,440 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 22 states. [2018-12-19 21:22:42,441 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 22 states. [2018-12-19 21:22:42,441 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 22 states. [2018-12-19 21:22:42,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:42,443 INFO L93 Difference]: Finished difference Result 44 states and 84 transitions. [2018-12-19 21:22:42,443 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 84 transitions. [2018-12-19 21:22:42,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:42,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:42,444 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 44 states. [2018-12-19 21:22:42,444 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 44 states. [2018-12-19 21:22:42,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:42,447 INFO L93 Difference]: Finished difference Result 44 states and 84 transitions. [2018-12-19 21:22:42,447 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 84 transitions. [2018-12-19 21:22:42,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:42,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:42,448 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:22:42,448 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:22:42,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-12-19 21:22:42,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 58 transitions. [2018-12-19 21:22:42,449 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 58 transitions. Word has length 4 [2018-12-19 21:22:42,449 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:22:42,450 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 58 transitions. [2018-12-19 21:22:42,450 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:22:42,450 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 58 transitions. [2018-12-19 21:22:42,450 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:22:42,450 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:22:42,450 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:22:42,451 INFO L423 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:22:42,451 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:42,451 INFO L82 PathProgramCache]: Analyzing trace with hash 941028, now seen corresponding path program 1 times [2018-12-19 21:22:42,451 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:22:42,452 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:42,452 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:42,452 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:42,452 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:22:42,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:42,547 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {832#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:22:42,548 INFO L273 TraceCheckUtils]: 1: Hoare triple {832#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {833#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:22:42,549 INFO L273 TraceCheckUtils]: 2: Hoare triple {833#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:42,550 INFO L273 TraceCheckUtils]: 3: Hoare triple {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2018-12-19 21:22:42,551 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:22:42,551 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:42,551 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:22:42,551 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:22:42,552 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [23] [2018-12-19 21:22:42,553 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:22:42,553 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:22:42,610 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:22:42,610 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:22:42,610 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:42,610 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:22:42,611 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:42,611 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:22:42,619 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:42,619 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:22:42,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:42,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:42,643 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:22:42,697 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:22:42,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,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 21 treesize of output 27 [2018-12-19 21:22:42,737 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,740 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,741 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:22:42,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:22:42,775 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,776 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,777 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,780 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:22:42,783 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:42,811 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:42,828 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:42,840 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:42,852 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:42,873 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:22:42,874 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-19 21:22:42,885 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:42,885 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_41| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:22:42,885 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:22:42,944 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,945 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,946 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,948 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,949 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,952 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,959 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,960 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,961 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,962 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,963 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:42,965 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:22:42,968 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:43,023 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:22:43,023 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:22:43,084 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:43,085 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_42| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_42| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_42| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_42| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_42| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_42| ULTIMATE.start_main_p5) 0))) [2018-12-19 21:22:43,085 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:43,271 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:43,287 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:22:43,291 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:43,344 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:22:43,345 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:22:43,362 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:43,363 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_43|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_43| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_43| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_43| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_43| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_43| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_43| ULTIMATE.start_main_p5) 0))) [2018-12-19 21:22:43,363 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:43,396 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {838#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:22:43,401 INFO L273 TraceCheckUtils]: 1: Hoare triple {838#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {842#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:22:43,409 INFO L273 TraceCheckUtils]: 2: Hoare triple {842#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {846#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:22:43,410 INFO L273 TraceCheckUtils]: 3: Hoare triple {846#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2018-12-19 21:22:43,410 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:22:43,410 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:22:43,447 INFO L273 TraceCheckUtils]: 3: Hoare triple {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2018-12-19 21:22:43,455 INFO L273 TraceCheckUtils]: 2: Hoare triple {853#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:43,456 INFO L273 TraceCheckUtils]: 1: Hoare triple {857#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {853#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:22:43,458 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {857#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:22:43,458 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:22:43,478 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:22:43,478 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:22:43,478 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:22:43,478 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:22:43,478 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:22:43,479 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:22:43,499 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:22:43,499 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:22:43,500 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:22:43,500 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:22:43,500 INFO L87 Difference]: Start difference. First operand 22 states and 58 transitions. Second operand 8 states. [2018-12-19 21:22:44,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:44,423 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2018-12-19 21:22:44,423 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:22:44,423 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:22:44,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:22:44,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:22:44,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-19 21:22:44,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:22:44,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-19 21:22:44,426 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2018-12-19 21:22:44,655 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:22:44,657 INFO L225 Difference]: With dead ends: 47 [2018-12-19 21:22:44,657 INFO L226 Difference]: Without dead ends: 46 [2018-12-19 21:22:44,658 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:22:44,658 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-12-19 21:22:44,811 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 24. [2018-12-19 21:22:44,811 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:22:44,811 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 24 states. [2018-12-19 21:22:44,811 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 24 states. [2018-12-19 21:22:44,811 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 24 states. [2018-12-19 21:22:44,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:44,814 INFO L93 Difference]: Finished difference Result 46 states and 96 transitions. [2018-12-19 21:22:44,814 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 96 transitions. [2018-12-19 21:22:44,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:44,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:44,815 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 46 states. [2018-12-19 21:22:44,815 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 46 states. [2018-12-19 21:22:44,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:44,817 INFO L93 Difference]: Finished difference Result 46 states and 96 transitions. [2018-12-19 21:22:44,818 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 96 transitions. [2018-12-19 21:22:44,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:44,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:44,818 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:22:44,819 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:22:44,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-12-19 21:22:44,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 70 transitions. [2018-12-19 21:22:44,820 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 70 transitions. Word has length 4 [2018-12-19 21:22:44,820 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:22:44,820 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 70 transitions. [2018-12-19 21:22:44,821 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:22:44,821 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 70 transitions. [2018-12-19 21:22:44,821 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:22:44,821 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:22:44,821 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:22:44,822 INFO L423 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:22:44,822 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:44,822 INFO L82 PathProgramCache]: Analyzing trace with hash 941588, now seen corresponding path program 1 times [2018-12-19 21:22:44,822 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:22:44,823 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:44,823 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:44,823 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:44,823 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:22:44,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:44,920 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1047#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:22:44,921 INFO L273 TraceCheckUtils]: 1: Hoare triple {1047#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:44,921 INFO L273 TraceCheckUtils]: 2: Hoare triple {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:44,922 INFO L273 TraceCheckUtils]: 3: Hoare triple {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2018-12-19 21:22:44,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:22:44,922 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:44,922 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:22:44,922 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:22:44,923 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [25] [2018-12-19 21:22:44,924 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:22:44,924 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:22:44,960 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:22:44,960 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:22:44,960 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:44,960 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:22:44,960 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:44,961 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:22:44,969 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:44,969 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:22:44,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:44,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:44,978 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:22:45,003 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:22:45,009 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:22:45,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,028 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:22:45,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,048 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:22:45,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,071 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:22:45,075 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:45,094 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:45,106 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:45,118 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:45,129 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:45,148 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:22:45,149 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-19 21:22:45,158 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:45,158 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_46| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:22:45,159 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:22:45,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,215 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,217 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,218 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,219 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,221 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,222 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:45,223 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:22:45,228 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:45,258 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:22:45,259 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-19 21:22:47,331 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:47,332 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_47| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_47| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_47| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_47| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_47| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:22:47,332 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:22:47,388 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1052#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:22:47,390 INFO L273 TraceCheckUtils]: 1: Hoare triple {1052#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:22:47,391 INFO L273 TraceCheckUtils]: 2: Hoare triple {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:22:47,394 INFO L273 TraceCheckUtils]: 3: Hoare triple {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2018-12-19 21:22:47,395 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:22:47,395 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:22:47,417 INFO L273 TraceCheckUtils]: 3: Hoare triple {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2018-12-19 21:22:47,417 INFO L273 TraceCheckUtils]: 2: Hoare triple {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:47,418 INFO L273 TraceCheckUtils]: 1: Hoare triple {1070#(<= (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:47,420 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1070#(<= (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:47,421 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:22:47,439 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-19 21:22:47,439 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2018-12-19 21:22:47,439 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:22:47,440 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-19 21:22:47,440 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:22:47,440 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:22:47,445 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:22:47,445 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:22:47,445 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:22:47,446 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:22:47,446 INFO L87 Difference]: Start difference. First operand 24 states and 70 transitions. Second operand 4 states. [2018-12-19 21:22:47,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:47,849 INFO L93 Difference]: Finished difference Result 28 states and 79 transitions. [2018-12-19 21:22:47,849 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:22:47,849 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-19 21:22:47,849 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:22:47,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:22:47,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2018-12-19 21:22:47,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:22:47,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2018-12-19 21:22:47,851 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 24 transitions. [2018-12-19 21:22:47,938 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:22:47,939 INFO L225 Difference]: With dead ends: 28 [2018-12-19 21:22:47,939 INFO L226 Difference]: Without dead ends: 27 [2018-12-19 21:22:47,940 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:22:47,940 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-12-19 21:22:48,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2018-12-19 21:22:48,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:22:48,059 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 26 states. [2018-12-19 21:22:48,059 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 26 states. [2018-12-19 21:22:48,060 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 26 states. [2018-12-19 21:22:48,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:48,063 INFO L93 Difference]: Finished difference Result 27 states and 77 transitions. [2018-12-19 21:22:48,063 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 77 transitions. [2018-12-19 21:22:48,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:48,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:48,064 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 27 states. [2018-12-19 21:22:48,064 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 27 states. [2018-12-19 21:22:48,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:48,066 INFO L93 Difference]: Finished difference Result 27 states and 77 transitions. [2018-12-19 21:22:48,066 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 77 transitions. [2018-12-19 21:22:48,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:48,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:48,066 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:22:48,066 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:22:48,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-12-19 21:22:48,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 77 transitions. [2018-12-19 21:22:48,068 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 77 transitions. Word has length 4 [2018-12-19 21:22:48,068 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:22:48,068 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 77 transitions. [2018-12-19 21:22:48,068 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:22:48,069 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 77 transitions. [2018-12-19 21:22:48,069 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:22:48,069 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:22:48,069 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:22:48,069 INFO L423 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:22:48,070 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:48,070 INFO L82 PathProgramCache]: Analyzing trace with hash 941152, now seen corresponding path program 1 times [2018-12-19 21:22:48,070 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:22:48,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:48,071 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:48,071 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:48,071 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:22:48,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:48,528 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1203#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:22:48,530 INFO L273 TraceCheckUtils]: 1: Hoare triple {1203#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1204#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:22:48,531 INFO L273 TraceCheckUtils]: 2: Hoare triple {1204#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1205#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:22:48,531 INFO L273 TraceCheckUtils]: 3: Hoare triple {1205#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2018-12-19 21:22:48,532 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:22:48,532 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:48,532 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:22:48,532 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:22:48,533 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [23] [2018-12-19 21:22:48,534 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:22:48,534 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:22:48,561 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:22:48,561 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:22:48,562 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:48,562 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:22:48,562 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:48,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 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:22:48,578 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:48,578 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:22:48,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:48,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:48,597 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:22:48,631 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:22:48,674 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,675 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:22:48,685 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,688 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:22:48,707 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,711 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:22:48,730 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,733 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,736 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:22:48,743 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:48,774 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:48,791 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:48,805 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:48,817 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:48,840 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:22:48,840 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:22:48,848 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:48,848 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_49| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:48,849 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:22:48,910 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,912 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,914 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:48,925 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:22:48,929 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:48,976 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:22:48,976 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:22:50,986 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:50,986 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_50| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_50| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:22:50,986 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:51,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:51,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:51,210 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:51,212 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:51,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:51,216 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:51,218 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:51,220 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:51,222 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:51,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:51,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:51,227 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:22:51,228 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:22:51,236 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:51,301 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:22:51,302 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:22:53,311 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:53,311 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_51| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_51| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_51| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_51| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_51| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_51| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:22:53,311 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:53,399 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1209#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:22:53,402 INFO L273 TraceCheckUtils]: 1: Hoare triple {1209#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:22:53,410 INFO L273 TraceCheckUtils]: 2: Hoare triple {1213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:22:53,411 INFO L273 TraceCheckUtils]: 3: Hoare triple {1217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2018-12-19 21:22:53,411 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:22:53,412 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:22:53,454 INFO L273 TraceCheckUtils]: 3: Hoare triple {1221#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2018-12-19 21:22:53,455 INFO L273 TraceCheckUtils]: 2: Hoare triple {1225#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1221#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:53,457 INFO L273 TraceCheckUtils]: 1: Hoare triple {1229#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1225#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:53,459 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1229#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:53,460 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:22:53,479 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:22:53,479 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:22:53,479 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:22:53,479 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:22:53,480 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:22:53,480 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:22:53,499 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:22:53,499 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:22:53,499 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:22:53,499 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:22:53,500 INFO L87 Difference]: Start difference. First operand 26 states and 77 transitions. Second operand 8 states. [2018-12-19 21:22:55,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:55,068 INFO L93 Difference]: Finished difference Result 44 states and 95 transitions. [2018-12-19 21:22:55,068 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:22:55,068 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:22:55,069 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:22:55,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:22:55,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 59 transitions. [2018-12-19 21:22:55,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:22:55,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 59 transitions. [2018-12-19 21:22:55,071 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 59 transitions. [2018-12-19 21:22:55,241 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:22:55,242 INFO L225 Difference]: With dead ends: 44 [2018-12-19 21:22:55,243 INFO L226 Difference]: Without dead ends: 43 [2018-12-19 21:22:55,243 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:22:55,244 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-12-19 21:22:55,374 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 25. [2018-12-19 21:22:55,375 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:22:55,375 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 25 states. [2018-12-19 21:22:55,375 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 25 states. [2018-12-19 21:22:55,375 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 25 states. [2018-12-19 21:22:55,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:55,378 INFO L93 Difference]: Finished difference Result 43 states and 93 transitions. [2018-12-19 21:22:55,378 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 93 transitions. [2018-12-19 21:22:55,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:55,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:55,379 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 43 states. [2018-12-19 21:22:55,379 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 43 states. [2018-12-19 21:22:55,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:55,381 INFO L93 Difference]: Finished difference Result 43 states and 93 transitions. [2018-12-19 21:22:55,382 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 93 transitions. [2018-12-19 21:22:55,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:55,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:55,382 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:22:55,383 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:22:55,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-12-19 21:22:55,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 70 transitions. [2018-12-19 21:22:55,384 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 70 transitions. Word has length 4 [2018-12-19 21:22:55,384 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:22:55,385 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 70 transitions. [2018-12-19 21:22:55,385 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:22:55,385 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 70 transitions. [2018-12-19 21:22:55,385 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:22:55,385 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:22:55,385 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:22:55,386 INFO L423 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:22:55,386 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:55,386 INFO L82 PathProgramCache]: Analyzing trace with hash 943510, now seen corresponding path program 1 times [2018-12-19 21:22:55,386 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:22:55,387 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:55,387 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:55,387 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:55,388 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:22:55,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:55,499 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1413#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:22:55,500 INFO L273 TraceCheckUtils]: 1: Hoare triple {1413#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:55,500 INFO L273 TraceCheckUtils]: 2: Hoare triple {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:55,501 INFO L273 TraceCheckUtils]: 3: Hoare triple {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2018-12-19 21:22:55,501 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:22:55,501 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:55,501 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:22:55,502 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:22:55,502 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [25] [2018-12-19 21:22:55,503 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:22:55,503 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:22:55,547 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:22:55,547 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:22:55,547 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:55,548 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:22:55,548 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:55,548 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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:22:55,557 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:55,557 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:22:55,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:55,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:55,566 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:22:55,580 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:22:55,589 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:22:55,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,602 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:22:55,644 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,646 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,647 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:22:55,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,671 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,672 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,674 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:22:55,676 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:55,695 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:55,708 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:55,719 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:55,730 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:55,751 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:22:55,751 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-19 21:22:55,763 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:55,763 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_54| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:22:55,764 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:22:55,871 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,872 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,873 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,877 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:55,880 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:22:55,883 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:55,916 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:22:55,916 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-19 21:22:55,932 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:55,932 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_55| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_55| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_55| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_55| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:22:55,932 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:22:55,981 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1418#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:22:55,984 INFO L273 TraceCheckUtils]: 1: Hoare triple {1418#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:22:55,988 INFO L273 TraceCheckUtils]: 2: Hoare triple {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:22:55,988 INFO L273 TraceCheckUtils]: 3: Hoare triple {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2018-12-19 21:22:55,989 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:22:55,989 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:22:56,018 INFO L273 TraceCheckUtils]: 3: Hoare triple {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2018-12-19 21:22:56,019 INFO L273 TraceCheckUtils]: 2: Hoare triple {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:56,020 INFO L273 TraceCheckUtils]: 1: Hoare triple {1436#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:56,021 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1436#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:22:56,022 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:22:56,041 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:22:56,041 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:22:56,042 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:22:56,042 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:22:56,042 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:22:56,042 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:22:56,053 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:22:56,053 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:22:56,053 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:22:56,053 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:22:56,053 INFO L87 Difference]: Start difference. First operand 25 states and 70 transitions. Second operand 6 states. [2018-12-19 21:22:56,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:56,708 INFO L93 Difference]: Finished difference Result 43 states and 96 transitions. [2018-12-19 21:22:56,708 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:22:56,708 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:22:56,709 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:22:56,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:22:56,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2018-12-19 21:22:56,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:22:56,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2018-12-19 21:22:56,710 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2018-12-19 21:22:56,788 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:22:56,789 INFO L225 Difference]: With dead ends: 43 [2018-12-19 21:22:56,789 INFO L226 Difference]: Without dead ends: 42 [2018-12-19 21:22:56,790 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:22:56,790 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-12-19 21:22:56,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 26. [2018-12-19 21:22:56,980 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:22:56,980 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 26 states. [2018-12-19 21:22:56,980 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 26 states. [2018-12-19 21:22:56,980 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 26 states. [2018-12-19 21:22:56,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:56,981 INFO L93 Difference]: Finished difference Result 42 states and 94 transitions. [2018-12-19 21:22:56,981 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 94 transitions. [2018-12-19 21:22:56,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:56,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:56,982 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 42 states. [2018-12-19 21:22:56,982 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 42 states. [2018-12-19 21:22:56,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:22:56,983 INFO L93 Difference]: Finished difference Result 42 states and 94 transitions. [2018-12-19 21:22:56,983 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 94 transitions. [2018-12-19 21:22:56,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:22:56,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:22:56,984 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:22:56,984 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:22:56,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-12-19 21:22:56,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 76 transitions. [2018-12-19 21:22:56,985 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 76 transitions. Word has length 4 [2018-12-19 21:22:56,985 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:22:56,985 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 76 transitions. [2018-12-19 21:22:56,985 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:22:56,986 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 76 transitions. [2018-12-19 21:22:56,986 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:22:56,986 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:22:56,986 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:22:56,986 INFO L423 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:22:56,986 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:56,987 INFO L82 PathProgramCache]: Analyzing trace with hash 943074, now seen corresponding path program 1 times [2018-12-19 21:22:56,987 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:22:56,988 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:56,988 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:56,988 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:22:56,988 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:22:56,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:57,130 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1617#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:22:57,132 INFO L273 TraceCheckUtils]: 1: Hoare triple {1617#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1618#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:22:57,133 INFO L273 TraceCheckUtils]: 2: Hoare triple {1618#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1619#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:22:57,133 INFO L273 TraceCheckUtils]: 3: Hoare triple {1619#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2018-12-19 21:22:57,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:22:57,134 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:57,134 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:22:57,135 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:22:57,135 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [23] [2018-12-19 21:22:57,136 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:22:57,136 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:22:57,153 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:22:57,153 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:22:57,154 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:22:57,154 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:22:57,154 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:22:57,154 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:22:57,162 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:22:57,163 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:22:57,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:57,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:22:57,171 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:22:57,215 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:22:57,221 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,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 21 treesize of output 27 [2018-12-19 21:22:57,243 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,244 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:22:57,290 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,293 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:22:57,315 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,318 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,322 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,323 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:22:57,328 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:57,357 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:57,373 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:57,386 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:57,400 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:22:57,422 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:22:57,422 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:22:57,430 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:57,430 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_57|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_57| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:57,430 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:57,481 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,483 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,484 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,485 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,488 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,489 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,490 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,493 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,494 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:57,496 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:22:57,499 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:57,546 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:22:57,547 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:22:58,846 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:58,846 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_58|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_58| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_58| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_58| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_58| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_58| ULTIMATE.start_main_p1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_58| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:22:58,846 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:58,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,925 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,926 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,927 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,929 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,930 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,931 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,932 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,933 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:22:58,934 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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:22:58,938 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:22:58,990 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:22:58,990 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:22:59,043 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:22:59,043 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_59|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_59| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_59| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_59| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:22:59,044 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:22:59,102 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1623#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:22:59,105 INFO L273 TraceCheckUtils]: 1: Hoare triple {1623#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1627#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:22:59,110 INFO L273 TraceCheckUtils]: 2: Hoare triple {1627#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1631#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:22:59,111 INFO L273 TraceCheckUtils]: 3: Hoare triple {1631#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2018-12-19 21:22:59,111 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:22:59,112 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:22:59,172 INFO L273 TraceCheckUtils]: 3: Hoare triple {1635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2018-12-19 21:22:59,173 INFO L273 TraceCheckUtils]: 2: Hoare triple {1639#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:59,175 INFO L273 TraceCheckUtils]: 1: Hoare triple {1643#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1639#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:59,177 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1643#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:22:59,177 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:22:59,197 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:22:59,197 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:22:59,197 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:22:59,198 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:22:59,198 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:22:59,198 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:22:59,213 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:22:59,213 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:22:59,213 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:22:59,214 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:22:59,214 INFO L87 Difference]: Start difference. First operand 26 states and 76 transitions. Second operand 8 states. [2018-12-19 21:23:00,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:00,420 INFO L93 Difference]: Finished difference Result 56 states and 123 transitions. [2018-12-19 21:23:00,420 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:23:00,420 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:23:00,421 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:00,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:00,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-19 21:23:00,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:00,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-19 21:23:00,422 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2018-12-19 21:23:00,594 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:23:00,596 INFO L225 Difference]: With dead ends: 56 [2018-12-19 21:23:00,596 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:23:00,597 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:23:00,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:23:00,752 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 28. [2018-12-19 21:23:00,753 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:00,753 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 28 states. [2018-12-19 21:23:00,753 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 28 states. [2018-12-19 21:23:00,753 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 28 states. [2018-12-19 21:23:00,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:00,755 INFO L93 Difference]: Finished difference Result 55 states and 121 transitions. [2018-12-19 21:23:00,756 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 121 transitions. [2018-12-19 21:23:00,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:00,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:00,756 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 55 states. [2018-12-19 21:23:00,756 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 55 states. [2018-12-19 21:23:00,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:00,758 INFO L93 Difference]: Finished difference Result 55 states and 121 transitions. [2018-12-19 21:23:00,758 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 121 transitions. [2018-12-19 21:23:00,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:00,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:00,759 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:00,759 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:00,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-12-19 21:23:00,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 88 transitions. [2018-12-19 21:23:00,760 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 88 transitions. Word has length 4 [2018-12-19 21:23:00,760 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:00,760 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 88 transitions. [2018-12-19 21:23:00,760 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:23:00,761 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 88 transitions. [2018-12-19 21:23:00,761 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:23:00,761 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:00,761 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:23:00,761 INFO L423 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:00,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:00,762 INFO L82 PathProgramCache]: Analyzing trace with hash 929868, now seen corresponding path program 2 times [2018-12-19 21:23:00,762 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:00,762 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:00,763 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:00,763 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:00,763 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:00,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:00,968 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1872#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:23:00,969 INFO L273 TraceCheckUtils]: 1: Hoare triple {1872#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1873#(and (<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:23:00,970 INFO L273 TraceCheckUtils]: 2: Hoare triple {1873#(and (<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:00,975 INFO L273 TraceCheckUtils]: 3: Hoare triple {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2018-12-19 21:23:00,976 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:23:00,976 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:00,976 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:00,976 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:23:00,976 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:23:00,976 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:00,976 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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:23:00,985 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:23:00,985 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:23:01,004 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-12-19 21:23:01,005 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:23:01,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:01,011 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:01,041 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:01,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,060 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:23:01,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,072 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,073 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:23:01,090 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,092 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,094 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,095 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:23:01,116 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,121 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,122 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:23:01,129 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:01,160 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:01,176 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:01,189 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:01,202 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:01,231 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:23:01,232 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-19 21:23:01,252 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:01,253 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_62|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_62| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:01,253 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:23:01,323 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,328 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,329 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,330 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,331 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,333 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,335 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,339 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:23:01,346 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:01,402 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:23:01,402 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:01,409 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:01,410 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_63|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_63| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_63| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_63| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_63| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_63| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_63| ULTIMATE.start_main_p5) 0))) [2018-12-19 21:23:01,410 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:23:01,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,537 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,540 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,542 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,544 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,550 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,554 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,558 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,561 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:01,562 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:23:01,571 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:01,638 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:23:01,638 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:01,652 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:01,653 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_64| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_64| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_64| ULTIMATE.start_main_p2) 0) (= .cse0 0) (= (select |v_#memory_int_64| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_64| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_64| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:01,653 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:01,705 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1878#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:23:01,708 INFO L273 TraceCheckUtils]: 1: Hoare triple {1878#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1882#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:23:01,713 INFO L273 TraceCheckUtils]: 2: Hoare triple {1882#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:23:01,714 INFO L273 TraceCheckUtils]: 3: Hoare triple {1886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2018-12-19 21:23:01,714 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:23:01,714 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:01,774 INFO L273 TraceCheckUtils]: 3: Hoare triple {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2018-12-19 21:23:01,775 INFO L273 TraceCheckUtils]: 2: Hoare triple {1893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:01,775 INFO L273 TraceCheckUtils]: 1: Hoare triple {1897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:01,777 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:01,777 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:23:01,796 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:01,796 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:23:01,796 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:01,797 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:23:01,797 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:01,797 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:23:01,811 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:23:01,812 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:23:01,812 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:23:01,812 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:23:01,812 INFO L87 Difference]: Start difference. First operand 28 states and 88 transitions. Second operand 8 states. [2018-12-19 21:23:03,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:03,010 INFO L93 Difference]: Finished difference Result 66 states and 142 transitions. [2018-12-19 21:23:03,010 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:23:03,011 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:23:03,011 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:03,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:03,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-19 21:23:03,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:03,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-19 21:23:03,013 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2018-12-19 21:23:03,185 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:23:03,186 INFO L225 Difference]: With dead ends: 66 [2018-12-19 21:23:03,186 INFO L226 Difference]: Without dead ends: 64 [2018-12-19 21:23:03,187 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=46, Invalid=64, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:23:03,188 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2018-12-19 21:23:03,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 32. [2018-12-19 21:23:03,412 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:03,413 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 32 states. [2018-12-19 21:23:03,413 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 32 states. [2018-12-19 21:23:03,413 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 32 states. [2018-12-19 21:23:03,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:03,417 INFO L93 Difference]: Finished difference Result 64 states and 139 transitions. [2018-12-19 21:23:03,417 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 139 transitions. [2018-12-19 21:23:03,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:03,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:03,418 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 64 states. [2018-12-19 21:23:03,418 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 64 states. [2018-12-19 21:23:03,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:03,420 INFO L93 Difference]: Finished difference Result 64 states and 139 transitions. [2018-12-19 21:23:03,420 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 139 transitions. [2018-12-19 21:23:03,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:03,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:03,421 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:03,421 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:03,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-12-19 21:23:03,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 99 transitions. [2018-12-19 21:23:03,423 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 99 transitions. Word has length 4 [2018-12-19 21:23:03,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:03,423 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 99 transitions. [2018-12-19 21:23:03,423 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:23:03,423 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 99 transitions. [2018-12-19 21:23:03,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:23:03,424 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:03,424 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:23:03,424 INFO L423 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:03,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:03,425 INFO L82 PathProgramCache]: Analyzing trace with hash 930056, now seen corresponding path program 1 times [2018-12-19 21:23:03,425 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:03,426 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:03,426 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:23:03,427 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:03,427 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:03,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:03,539 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2159#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:03,540 INFO L273 TraceCheckUtils]: 1: Hoare triple {2159#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:03,541 INFO L273 TraceCheckUtils]: 2: Hoare triple {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:03,541 INFO L273 TraceCheckUtils]: 3: Hoare triple {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2018-12-19 21:23:03,541 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:23:03,542 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:03,542 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:03,542 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:23:03,542 INFO L207 CegarAbsIntRunner]: [0], [6], [24], [25] [2018-12-19 21:23:03,543 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:03,543 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:03,563 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:03,563 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:23:03,563 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:03,564 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:03,564 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:03,564 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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:23:03,574 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:03,574 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:03,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:03,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:03,583 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:03,630 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:03,660 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:03,661 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:23:03,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:03,707 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:03,708 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:23:03,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:03,729 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:03,731 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:03,732 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:23:03,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:03,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:03,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:03,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:03,765 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:23:03,771 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:03,808 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:03,826 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:03,840 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:03,853 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:03,882 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:23:03,883 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-19 21:23:03,894 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:03,894 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_67|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_67| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:03,894 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:04,041 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:04,043 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:04,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:04,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:04,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:04,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:04,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:04,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:04,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:04,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:04,061 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:04,062 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:23:04,071 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:04,131 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:23:04,132 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:06,172 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:06,172 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_68|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_68| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_68| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_68| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p4) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:06,173 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:06,280 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2164#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:06,284 INFO L273 TraceCheckUtils]: 1: Hoare triple {2164#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:06,299 INFO L273 TraceCheckUtils]: 2: Hoare triple {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:06,300 INFO L273 TraceCheckUtils]: 3: Hoare triple {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2018-12-19 21:23:06,301 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:23:06,301 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:06,342 INFO L273 TraceCheckUtils]: 3: Hoare triple {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2018-12-19 21:23:06,343 INFO L273 TraceCheckUtils]: 2: Hoare triple {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:06,344 INFO L273 TraceCheckUtils]: 1: Hoare triple {2182#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:06,346 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2182#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:06,346 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:23:06,365 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:06,365 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:23:06,365 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:06,366 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:23:06,366 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:06,366 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:23:06,381 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:23:06,381 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:23:06,381 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:23:06,381 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:23:06,381 INFO L87 Difference]: Start difference. First operand 32 states and 99 transitions. Second operand 6 states. [2018-12-19 21:23:06,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:06,915 INFO L93 Difference]: Finished difference Result 45 states and 113 transitions. [2018-12-19 21:23:06,915 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:23:06,915 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:23:06,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:06,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:23:06,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 48 transitions. [2018-12-19 21:23:06,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:23:06,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 48 transitions. [2018-12-19 21:23:06,917 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 48 transitions. [2018-12-19 21:23:06,996 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:23:06,997 INFO L225 Difference]: With dead ends: 45 [2018-12-19 21:23:06,997 INFO L226 Difference]: Without dead ends: 44 [2018-12-19 21:23:06,998 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 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:23:06,998 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-12-19 21:23:07,180 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 33. [2018-12-19 21:23:07,181 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:07,181 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 33 states. [2018-12-19 21:23:07,181 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 33 states. [2018-12-19 21:23:07,181 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 33 states. [2018-12-19 21:23:07,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:07,182 INFO L93 Difference]: Finished difference Result 44 states and 111 transitions. [2018-12-19 21:23:07,183 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 111 transitions. [2018-12-19 21:23:07,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:07,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:07,183 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 44 states. [2018-12-19 21:23:07,183 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 44 states. [2018-12-19 21:23:07,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:07,185 INFO L93 Difference]: Finished difference Result 44 states and 111 transitions. [2018-12-19 21:23:07,185 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 111 transitions. [2018-12-19 21:23:07,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:07,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:07,185 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:07,185 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:07,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-12-19 21:23:07,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 104 transitions. [2018-12-19 21:23:07,186 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 104 transitions. Word has length 4 [2018-12-19 21:23:07,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:07,187 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 104 transitions. [2018-12-19 21:23:07,187 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:23:07,187 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 104 transitions. [2018-12-19 21:23:07,187 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:23:07,187 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:07,187 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:23:07,187 INFO L423 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:07,187 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:07,188 INFO L82 PathProgramCache]: Analyzing trace with hash 947418, now seen corresponding path program 1 times [2018-12-19 21:23:07,188 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:07,188 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:07,188 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:07,188 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:07,189 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:07,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:07,224 INFO L273 TraceCheckUtils]: 0: Hoare triple {2381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:23:07,224 INFO L273 TraceCheckUtils]: 1: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:23:07,227 INFO L273 TraceCheckUtils]: 2: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:23:07,227 INFO L273 TraceCheckUtils]: 3: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {2382#false} is VALID [2018-12-19 21:23:07,227 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:23:07,227 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-19 21:23:07,228 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-19 21:23:07,228 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:23:07,228 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2018-12-19 21:23:07,228 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:07,228 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-19 21:23:07,234 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:23:07,234 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-19 21:23:07,234 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-19 21:23:07,234 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:23:07,234 INFO L87 Difference]: Start difference. First operand 33 states and 104 transitions. Second operand 3 states. [2018-12-19 21:23:07,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:07,448 INFO L93 Difference]: Finished difference Result 34 states and 104 transitions. [2018-12-19 21:23:07,449 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:23:07,449 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2018-12-19 21:23:07,449 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:07,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:23:07,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 23 transitions. [2018-12-19 21:23:07,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:23:07,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 23 transitions. [2018-12-19 21:23:07,451 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 23 transitions. [2018-12-19 21:23:07,739 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:23:07,740 INFO L225 Difference]: With dead ends: 34 [2018-12-19 21:23:07,740 INFO L226 Difference]: Without dead ends: 31 [2018-12-19 21:23:07,741 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:23:07,741 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-12-19 21:23:08,116 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2018-12-19 21:23:08,116 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:08,116 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 31 states. [2018-12-19 21:23:08,116 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2018-12-19 21:23:08,116 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2018-12-19 21:23:08,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:08,118 INFO L93 Difference]: Finished difference Result 31 states and 101 transitions. [2018-12-19 21:23:08,118 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2018-12-19 21:23:08,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:08,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:08,119 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2018-12-19 21:23:08,119 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2018-12-19 21:23:08,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:08,121 INFO L93 Difference]: Finished difference Result 31 states and 101 transitions. [2018-12-19 21:23:08,121 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2018-12-19 21:23:08,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:08,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:08,122 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:08,122 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:08,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-12-19 21:23:08,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 101 transitions. [2018-12-19 21:23:08,123 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 101 transitions. Word has length 4 [2018-12-19 21:23:08,123 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:08,123 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 101 transitions. [2018-12-19 21:23:08,123 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-19 21:23:08,123 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2018-12-19 21:23:08,124 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:23:08,124 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:08,124 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:23:08,124 INFO L423 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:08,124 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:08,125 INFO L82 PathProgramCache]: Analyzing trace with hash 933340, now seen corresponding path program 1 times [2018-12-19 21:23:08,125 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:08,125 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:08,125 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:08,126 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:08,126 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:08,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:08,205 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2543#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:23:08,206 INFO L273 TraceCheckUtils]: 1: Hoare triple {2543#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2544#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:23:08,207 INFO L273 TraceCheckUtils]: 2: Hoare triple {2544#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:08,207 INFO L273 TraceCheckUtils]: 3: Hoare triple {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2018-12-19 21:23:08,208 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:23:08,208 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:08,208 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:08,208 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:23:08,209 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [23] [2018-12-19 21:23:08,209 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:08,210 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:08,227 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:08,227 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:23:08,227 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:08,227 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:08,228 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:08,228 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:23:08,237 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:08,238 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:08,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:08,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:08,249 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:08,277 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:08,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,287 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:23:08,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,300 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:23:08,315 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,316 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,318 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:23:08,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,342 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:23:08,349 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:08,382 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:08,396 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:08,410 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:08,422 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:08,452 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:23:08,452 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-19 21:23:08,463 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:08,464 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_70| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:08,464 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:08,522 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,523 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,525 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,526 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,527 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,528 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,529 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,531 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,532 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,534 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,535 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:23:08,540 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:08,590 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:23:08,590 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:08,659 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:08,660 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_71|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_71| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_71| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_71| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p1)) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:08,660 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:08,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,761 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,769 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,770 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:08,771 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:23:08,777 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:08,835 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:23:08,836 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:23:08,856 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:08,857 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_72|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_72| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_72| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_72| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_72| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_72| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_72| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:08,857 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:23:08,914 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:08,918 INFO L273 TraceCheckUtils]: 1: Hoare triple {2549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2553#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:23:08,925 INFO L273 TraceCheckUtils]: 2: Hoare triple {2553#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2557#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:23:08,926 INFO L273 TraceCheckUtils]: 3: Hoare triple {2557#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2018-12-19 21:23:08,926 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:23:08,926 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:08,953 INFO L273 TraceCheckUtils]: 3: Hoare triple {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2018-12-19 21:23:08,954 INFO L273 TraceCheckUtils]: 2: Hoare triple {2564#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:08,955 INFO L273 TraceCheckUtils]: 1: Hoare triple {2568#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2564#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:23:08,957 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2568#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:23:08,958 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:23:08,978 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:08,978 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:23:08,978 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:08,978 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:23:08,978 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:08,978 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:23:08,997 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:23:08,997 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:23:08,998 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:23:08,998 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:23:08,998 INFO L87 Difference]: Start difference. First operand 31 states and 101 transitions. Second operand 8 states. [2018-12-19 21:23:09,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:09,840 INFO L93 Difference]: Finished difference Result 59 states and 152 transitions. [2018-12-19 21:23:09,841 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:23:09,841 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:23:09,841 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:09,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:09,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2018-12-19 21:23:09,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:09,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2018-12-19 21:23:09,843 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2018-12-19 21:23:10,449 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:23:10,451 INFO L225 Difference]: With dead ends: 59 [2018-12-19 21:23:10,451 INFO L226 Difference]: Without dead ends: 58 [2018-12-19 21:23:10,452 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:23:10,452 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-12-19 21:23:10,684 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 34. [2018-12-19 21:23:10,684 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:10,684 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 34 states. [2018-12-19 21:23:10,685 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 34 states. [2018-12-19 21:23:10,685 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 34 states. [2018-12-19 21:23:10,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:10,687 INFO L93 Difference]: Finished difference Result 58 states and 150 transitions. [2018-12-19 21:23:10,687 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 150 transitions. [2018-12-19 21:23:10,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:10,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:10,688 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 58 states. [2018-12-19 21:23:10,688 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 58 states. [2018-12-19 21:23:10,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:10,690 INFO L93 Difference]: Finished difference Result 58 states and 150 transitions. [2018-12-19 21:23:10,690 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 150 transitions. [2018-12-19 21:23:10,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:10,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:10,690 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:10,690 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:10,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-12-19 21:23:10,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 119 transitions. [2018-12-19 21:23:10,692 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 119 transitions. Word has length 4 [2018-12-19 21:23:10,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:10,692 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 119 transitions. [2018-12-19 21:23:10,692 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:23:10,692 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 119 transitions. [2018-12-19 21:23:10,693 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:23:10,693 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:10,693 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:23:10,693 INFO L423 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:10,693 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:10,693 INFO L82 PathProgramCache]: Analyzing trace with hash 937744, now seen corresponding path program 1 times [2018-12-19 21:23:10,693 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:10,694 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:10,694 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:10,694 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:10,694 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:10,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:11,115 WARN L181 SmtUtils]: Spent 228.00 ms on a formula simplification. DAG size of input: 20 DAG size of output: 13 [2018-12-19 21:23:11,127 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2820#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:11,128 INFO L273 TraceCheckUtils]: 1: Hoare triple {2820#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:11,128 INFO L273 TraceCheckUtils]: 2: Hoare triple {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:11,129 INFO L273 TraceCheckUtils]: 3: Hoare triple {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2018-12-19 21:23:11,129 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:23:11,129 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:11,129 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:11,129 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:23:11,130 INFO L207 CegarAbsIntRunner]: [0], [14], [24], [25] [2018-12-19 21:23:11,132 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:11,132 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:11,155 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:11,155 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:23:11,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:11,156 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:11,156 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:11,156 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:23:11,165 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:11,165 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:11,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:11,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:11,173 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:11,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, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:11,213 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:23:11,226 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,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, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:23:11,243 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,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, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:23:11,263 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,269 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,270 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:23:11,275 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:11,295 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:11,309 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:11,321 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:11,333 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:11,356 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:23:11,357 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-19 21:23:11,366 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:11,366 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_75|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_75| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:11,366 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:11,431 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,432 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,433 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,435 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,436 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,437 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,438 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:11,439 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:23:11,444 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:11,479 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:23:11,480 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-19 21:23:11,495 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:11,495 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_76|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_76| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_76| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_76| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_76| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_76| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:23:11,495 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:11,548 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2825#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:23:11,550 INFO L273 TraceCheckUtils]: 1: Hoare triple {2825#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:11,552 INFO L273 TraceCheckUtils]: 2: Hoare triple {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:11,552 INFO L273 TraceCheckUtils]: 3: Hoare triple {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2018-12-19 21:23:11,553 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:23:11,553 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:11,579 INFO L273 TraceCheckUtils]: 3: Hoare triple {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2018-12-19 21:23:11,580 INFO L273 TraceCheckUtils]: 2: Hoare triple {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:11,586 INFO L273 TraceCheckUtils]: 1: Hoare triple {2843#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:11,588 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2843#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:11,588 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:23:11,607 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:11,607 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:23:11,607 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:11,608 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:23:11,608 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:11,608 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:23:11,628 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:23:11,628 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:23:11,628 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:23:11,628 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:23:11,628 INFO L87 Difference]: Start difference. First operand 34 states and 119 transitions. Second operand 6 states. [2018-12-19 21:23:12,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:12,717 INFO L93 Difference]: Finished difference Result 51 states and 145 transitions. [2018-12-19 21:23:12,717 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:23:12,717 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:23:12,717 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:12,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:23:12,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-19 21:23:12,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:23:12,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-19 21:23:12,718 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2018-12-19 21:23:12,776 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:23:12,777 INFO L225 Difference]: With dead ends: 51 [2018-12-19 21:23:12,777 INFO L226 Difference]: Without dead ends: 50 [2018-12-19 21:23:12,777 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-19 21:23:12,778 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-12-19 21:23:13,133 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 35. [2018-12-19 21:23:13,133 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:13,133 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 35 states. [2018-12-19 21:23:13,133 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 35 states. [2018-12-19 21:23:13,134 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 35 states. [2018-12-19 21:23:13,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:13,135 INFO L93 Difference]: Finished difference Result 50 states and 143 transitions. [2018-12-19 21:23:13,135 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 143 transitions. [2018-12-19 21:23:13,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:13,136 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:13,136 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 50 states. [2018-12-19 21:23:13,136 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 50 states. [2018-12-19 21:23:13,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:13,138 INFO L93 Difference]: Finished difference Result 50 states and 143 transitions. [2018-12-19 21:23:13,138 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 143 transitions. [2018-12-19 21:23:13,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:13,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:13,139 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:13,139 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:13,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-12-19 21:23:13,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 125 transitions. [2018-12-19 21:23:13,140 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 125 transitions. Word has length 4 [2018-12-19 21:23:13,140 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:13,140 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 125 transitions. [2018-12-19 21:23:13,140 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:23:13,140 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 125 transitions. [2018-12-19 21:23:13,140 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:23:13,140 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:13,141 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:23:13,141 INFO L423 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:13,141 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:13,141 INFO L82 PathProgramCache]: Analyzing trace with hash 937308, now seen corresponding path program 1 times [2018-12-19 21:23:13,141 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:13,142 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:13,142 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:13,142 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:13,142 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:13,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:13,272 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3073#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:23:13,273 INFO L273 TraceCheckUtils]: 1: Hoare triple {3073#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3074#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:23:13,274 INFO L273 TraceCheckUtils]: 2: Hoare triple {3074#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3075#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:23:13,275 INFO L273 TraceCheckUtils]: 3: Hoare triple {3075#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2018-12-19 21:23:13,275 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:23:13,276 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:13,276 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:13,276 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:23:13,276 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [23] [2018-12-19 21:23:13,279 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:13,279 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:13,306 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:13,306 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:23:13,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:13,306 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:13,306 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:13,307 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:23:13,316 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:13,317 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:13,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:13,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:13,326 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:13,367 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:13,377 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,378 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:23:13,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,404 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,404 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:23:13,455 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,457 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,460 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,461 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:23:13,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,487 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,489 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,490 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,491 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:23:13,498 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:13,529 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:13,548 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:13,564 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:13,578 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:13,607 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:23:13,607 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:23:13,616 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:13,616 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_78| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:13,616 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:13,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,733 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,737 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,738 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,739 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,740 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,743 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:13,744 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:23:13,781 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:13,837 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:23:13,837 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:15,847 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:15,847 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_79|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_79| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_79| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_79| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_79| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_79| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_79| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:15,848 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:15,944 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,946 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,946 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,947 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,948 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,949 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,950 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,951 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,952 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,954 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,955 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,956 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,957 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:15,958 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:23:15,965 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:16,496 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:23:16,496 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:17,018 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:17,018 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_80|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_80| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p5)) (= 0 .cse0) (= (store |v_#memory_int_80| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 1 (select |v_#memory_int_80| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:17,018 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:17,104 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3079#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:17,110 INFO L273 TraceCheckUtils]: 1: Hoare triple {3079#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3083#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:17,113 INFO L273 TraceCheckUtils]: 2: Hoare triple {3083#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3087#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:23:17,113 INFO L273 TraceCheckUtils]: 3: Hoare triple {3087#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2018-12-19 21:23:17,114 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:23:17,114 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:17,195 INFO L273 TraceCheckUtils]: 3: Hoare triple {3091#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2018-12-19 21:23:17,196 INFO L273 TraceCheckUtils]: 2: Hoare triple {3095#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3091#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:17,198 INFO L273 TraceCheckUtils]: 1: Hoare triple {3099#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3095#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:17,200 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3099#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:17,200 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:23:17,221 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:17,221 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:23:17,221 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:17,221 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:23:17,221 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:17,221 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:23:17,235 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:23:17,235 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:23:17,236 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:23:17,236 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:23:17,236 INFO L87 Difference]: Start difference. First operand 35 states and 125 transitions. Second operand 8 states. [2018-12-19 21:23:18,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:18,459 INFO L93 Difference]: Finished difference Result 64 states and 172 transitions. [2018-12-19 21:23:18,459 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:23:18,459 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:23:18,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:18,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:18,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-19 21:23:18,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:18,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-19 21:23:18,461 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 60 transitions. [2018-12-19 21:23:18,605 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:23:18,607 INFO L225 Difference]: With dead ends: 64 [2018-12-19 21:23:18,607 INFO L226 Difference]: Without dead ends: 63 [2018-12-19 21:23:18,608 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:23:18,608 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2018-12-19 21:23:18,890 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 37. [2018-12-19 21:23:18,891 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:18,891 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand 37 states. [2018-12-19 21:23:18,891 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 37 states. [2018-12-19 21:23:18,891 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 37 states. [2018-12-19 21:23:18,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:18,893 INFO L93 Difference]: Finished difference Result 63 states and 170 transitions. [2018-12-19 21:23:18,893 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 170 transitions. [2018-12-19 21:23:18,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:18,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:18,894 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 63 states. [2018-12-19 21:23:18,894 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 63 states. [2018-12-19 21:23:18,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:18,896 INFO L93 Difference]: Finished difference Result 63 states and 170 transitions. [2018-12-19 21:23:18,896 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 170 transitions. [2018-12-19 21:23:18,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:18,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:18,896 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:18,896 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:18,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-12-19 21:23:18,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2018-12-19 21:23:18,898 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 4 [2018-12-19 21:23:18,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:18,898 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2018-12-19 21:23:18,898 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:23:18,898 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2018-12-19 21:23:18,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:23:18,899 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:18,899 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:23:18,899 INFO L423 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:18,899 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:18,899 INFO L82 PathProgramCache]: Analyzing trace with hash 29185378, now seen corresponding path program 1 times [2018-12-19 21:23:18,899 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:18,900 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:18,900 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:18,900 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:18,900 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:18,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:19,111 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3377#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:23:19,112 INFO L273 TraceCheckUtils]: 1: Hoare triple {3377#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3378#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:19,112 INFO L273 TraceCheckUtils]: 2: Hoare triple {3378#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:19,113 INFO L273 TraceCheckUtils]: 3: Hoare triple {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:19,113 INFO L273 TraceCheckUtils]: 4: Hoare triple {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2018-12-19 21:23:19,114 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:23:19,114 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:19,114 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:19,114 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:23:19,114 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [25] [2018-12-19 21:23:19,116 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:19,116 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:19,130 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:19,130 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:23:19,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:19,131 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:19,131 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:19,131 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:23:19,141 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:19,141 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:19,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:19,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:19,149 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:19,175 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:19,181 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:23:19,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,191 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:23:19,204 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,207 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:23:19,223 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,231 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:23:19,242 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:19,263 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:19,275 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:19,286 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:19,298 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:19,318 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:23:19,318 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-19 21:23:19,330 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:19,330 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_83|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3]. (and (= (store (store (store (store (store |v_#memory_int_83| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:19,330 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:23:19,392 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,393 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,395 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,396 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,397 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,399 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,420 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:23:19,422 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:19,452 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:23:19,452 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-19 21:23:19,828 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:19,828 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_84|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_84| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_84| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_84| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_84| ULTIMATE.start_main_p5)))) [2018-12-19 21:23:19,828 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:19,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:19,887 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2018-12-19 21:23:19,890 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:19,921 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:23:19,922 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-19 21:23:21,949 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:21,950 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_85|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_85| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_85| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_85| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= 0 (+ (select |v_#memory_int_85| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_85| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:23:21,950 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:22,043 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3383#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:23:22,045 INFO L273 TraceCheckUtils]: 1: Hoare triple {3383#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3387#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-19 21:23:22,048 INFO L273 TraceCheckUtils]: 2: Hoare triple {3387#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:22,053 INFO L273 TraceCheckUtils]: 3: Hoare triple {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:22,053 INFO L273 TraceCheckUtils]: 4: Hoare triple {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2018-12-19 21:23:22,054 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:23:22,054 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:22,099 INFO L273 TraceCheckUtils]: 4: Hoare triple {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2018-12-19 21:23:22,099 INFO L273 TraceCheckUtils]: 3: Hoare triple {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:22,100 INFO L273 TraceCheckUtils]: 2: Hoare triple {3405#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:22,102 INFO L273 TraceCheckUtils]: 1: Hoare triple {3409#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3405#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:22,104 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3409#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:22,105 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:23:22,124 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:22,124 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:23:22,124 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:22,124 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:23:22,124 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:22,124 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:23:22,141 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:23:22,142 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:23:22,142 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:23:22,142 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:23:22,142 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 8 states. [2018-12-19 21:23:23,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:23,019 INFO L93 Difference]: Finished difference Result 57 states and 164 transitions. [2018-12-19 21:23:23,019 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:23:23,019 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:23:23,020 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:23,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:23,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-12-19 21:23:23,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:23,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-12-19 21:23:23,021 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2018-12-19 21:23:23,133 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:23:23,134 INFO L225 Difference]: With dead ends: 57 [2018-12-19 21:23:23,135 INFO L226 Difference]: Without dead ends: 56 [2018-12-19 21:23:23,135 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:23:23,135 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-12-19 21:23:23,429 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 38. [2018-12-19 21:23:23,430 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:23,430 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 38 states. [2018-12-19 21:23:23,430 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 38 states. [2018-12-19 21:23:23,430 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 38 states. [2018-12-19 21:23:23,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:23,432 INFO L93 Difference]: Finished difference Result 56 states and 162 transitions. [2018-12-19 21:23:23,432 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 162 transitions. [2018-12-19 21:23:23,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:23,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:23,433 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 56 states. [2018-12-19 21:23:23,433 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 56 states. [2018-12-19 21:23:23,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:23,435 INFO L93 Difference]: Finished difference Result 56 states and 162 transitions. [2018-12-19 21:23:23,435 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 162 transitions. [2018-12-19 21:23:23,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:23,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:23,435 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:23,435 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:23,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-12-19 21:23:23,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 143 transitions. [2018-12-19 21:23:23,436 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 143 transitions. Word has length 5 [2018-12-19 21:23:23,437 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:23,437 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 143 transitions. [2018-12-19 21:23:23,437 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:23:23,437 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 143 transitions. [2018-12-19 21:23:23,437 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:23:23,437 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:23,437 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:23:23,437 INFO L423 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:23,438 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:23,438 INFO L82 PathProgramCache]: Analyzing trace with hash 29184942, now seen corresponding path program 1 times [2018-12-19 21:23:23,438 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:23,438 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:23,438 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:23,438 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:23,438 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:23,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:23,664 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3668#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:23:23,665 INFO L273 TraceCheckUtils]: 1: Hoare triple {3668#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3669#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:23:23,666 INFO L273 TraceCheckUtils]: 2: Hoare triple {3669#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3670#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:23:23,667 INFO L273 TraceCheckUtils]: 3: Hoare triple {3670#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3671#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:23:23,668 INFO L273 TraceCheckUtils]: 4: Hoare triple {3671#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2018-12-19 21:23:23,668 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:23:23,669 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:23,669 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:23,669 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:23:23,669 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [20], [23] [2018-12-19 21:23:23,672 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:23,672 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:23,682 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:23,683 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:23:23,683 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:23,683 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:23,683 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:23,683 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:23:23,694 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:23,694 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:23,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:23,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:23,704 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:23,772 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:23,781 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:23,782 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:23:23,793 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:23,795 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:23,796 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:23:24,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,072 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,098 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:23:24,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:23:24,185 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:24,217 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:24,237 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:24,251 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:24,264 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:24,287 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:23:24,287 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:23:24,295 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:24,296 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_88| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:24,296 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:23:24,366 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,369 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,372 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,375 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,377 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,378 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,381 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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:23:24,386 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:24,434 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:23:24,434 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:24,447 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:24,447 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_89|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_89| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_89| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_89| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_89| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_89| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_89| ULTIMATE.start_main_p1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:24,447 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:24,522 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,524 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,525 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,527 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,528 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,529 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,531 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,532 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,536 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,537 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,538 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,539 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:23:24,548 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:24,599 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:23:24,600 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:23:24,612 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:24,613 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_90|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_90| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_90| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_90| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (= (select |v_#memory_int_90| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_90| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_90| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:24,613 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:24,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,689 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,691 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,695 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,696 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,697 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,698 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,699 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,700 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,701 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:23:24,702 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:24,703 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:23:24,711 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:24,767 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:23:24,768 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:23:24,812 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:24,813 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_91|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_91| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_91| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_91| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_91| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_91| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_91| ULTIMATE.start_main_p1) 0))) [2018-12-19 21:23:24,813 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:24,908 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3675#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:24,911 INFO L273 TraceCheckUtils]: 1: Hoare triple {3675#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3679#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-19 21:23:24,914 INFO L273 TraceCheckUtils]: 2: Hoare triple {3679#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3683#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:24,920 INFO L273 TraceCheckUtils]: 3: Hoare triple {3683#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3687#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:23:24,924 INFO L273 TraceCheckUtils]: 4: Hoare triple {3687#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2018-12-19 21:23:24,925 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:23:24,925 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:24,999 INFO L273 TraceCheckUtils]: 4: Hoare triple {3691#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2018-12-19 21:23:25,000 INFO L273 TraceCheckUtils]: 3: Hoare triple {3695#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3691#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:25,002 INFO L273 TraceCheckUtils]: 2: Hoare triple {3699#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3695#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:25,004 INFO L273 TraceCheckUtils]: 1: Hoare triple {3703#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3699#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:25,006 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3703#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:25,006 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:23:25,025 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:25,025 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:23:25,025 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:25,026 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:23:25,026 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:25,026 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:23:25,046 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:23:25,046 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:23:25,046 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:23:25,046 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:23:25,047 INFO L87 Difference]: Start difference. First operand 38 states and 143 transitions. Second operand 10 states. [2018-12-19 21:23:27,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:27,678 INFO L93 Difference]: Finished difference Result 68 states and 184 transitions. [2018-12-19 21:23:27,678 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:23:27,678 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:23:27,678 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:27,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:23:27,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2018-12-19 21:23:27,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:23:27,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2018-12-19 21:23:27,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2018-12-19 21:23:27,866 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:23:27,867 INFO L225 Difference]: With dead ends: 68 [2018-12-19 21:23:27,867 INFO L226 Difference]: Without dead ends: 67 [2018-12-19 21:23:27,867 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:23:27,867 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2018-12-19 21:23:28,309 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 37. [2018-12-19 21:23:28,310 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:28,310 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 37 states. [2018-12-19 21:23:28,310 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 37 states. [2018-12-19 21:23:28,310 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 37 states. [2018-12-19 21:23:28,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:28,313 INFO L93 Difference]: Finished difference Result 67 states and 182 transitions. [2018-12-19 21:23:28,313 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 182 transitions. [2018-12-19 21:23:28,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:28,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:28,314 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 67 states. [2018-12-19 21:23:28,314 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 67 states. [2018-12-19 21:23:28,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:28,316 INFO L93 Difference]: Finished difference Result 67 states and 182 transitions. [2018-12-19 21:23:28,316 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 182 transitions. [2018-12-19 21:23:28,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:28,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:28,317 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:28,317 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:28,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-12-19 21:23:28,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2018-12-19 21:23:28,318 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 5 [2018-12-19 21:23:28,319 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:28,319 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2018-12-19 21:23:28,319 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:23:28,319 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2018-12-19 21:23:28,319 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:23:28,319 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:28,320 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:23:28,320 INFO L423 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:28,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:28,320 INFO L82 PathProgramCache]: Analyzing trace with hash 29171924, now seen corresponding path program 1 times [2018-12-19 21:23:28,320 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:28,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:28,321 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:28,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:28,321 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:28,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:28,705 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3997#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:23:28,706 INFO L273 TraceCheckUtils]: 1: Hoare triple {3997#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3998#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:28,707 INFO L273 TraceCheckUtils]: 2: Hoare triple {3998#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:28,708 INFO L273 TraceCheckUtils]: 3: Hoare triple {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:28,708 INFO L273 TraceCheckUtils]: 4: Hoare triple {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2018-12-19 21:23:28,708 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:23:28,708 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:28,708 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:28,709 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:23:28,709 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [25] [2018-12-19 21:23:28,710 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:28,710 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:28,722 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:28,722 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:23:28,723 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:28,723 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:28,723 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:28,723 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:23:28,752 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:28,752 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:28,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:28,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:28,762 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:28,794 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:28,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:28,809 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:23:28,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:28,820 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:28,821 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:23:28,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:28,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:28,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:28,840 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:23:28,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:28,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:28,860 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:28,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:28,862 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:23:28,865 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:28,894 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:28,909 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:28,922 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:28,933 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:28,954 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:23:28,955 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:23:28,969 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:28,969 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_95|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_95| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:28,970 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:23:29,023 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:29,024 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:29,025 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:29,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:29,028 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:29,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:29,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:29,032 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:29,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:29,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:29,036 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:29,037 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:23:29,040 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:29,086 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:23:29,086 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:30,026 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:30,027 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_96|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_96| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_96| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:30,027 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:30,091 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,092 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,094 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,099 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,100 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,101 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,103 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,105 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:30,106 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:23:30,109 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:30,164 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:23:30,164 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:23:30,265 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:30,265 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_97|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_97| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_97| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_97| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_97| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_97| ULTIMATE.start_main_p5)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_97| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:30,265 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:30,314 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4003#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:30,318 INFO L273 TraceCheckUtils]: 1: Hoare triple {4003#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4007#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:30,325 INFO L273 TraceCheckUtils]: 2: Hoare triple {4007#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:30,326 INFO L273 TraceCheckUtils]: 3: Hoare triple {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:30,327 INFO L273 TraceCheckUtils]: 4: Hoare triple {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2018-12-19 21:23:30,327 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:23:30,327 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:30,366 INFO L273 TraceCheckUtils]: 4: Hoare triple {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2018-12-19 21:23:30,367 INFO L273 TraceCheckUtils]: 3: Hoare triple {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:30,368 INFO L273 TraceCheckUtils]: 2: Hoare triple {4025#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:30,369 INFO L273 TraceCheckUtils]: 1: Hoare triple {4029#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4025#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:30,371 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4029#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:30,371 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:23:30,390 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:30,391 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:23:30,391 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:30,391 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:23:30,391 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:30,391 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:23:30,410 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:23:30,410 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:23:30,410 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:23:30,410 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:23:30,411 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 8 states. [2018-12-19 21:23:31,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:31,606 INFO L93 Difference]: Finished difference Result 56 states and 158 transitions. [2018-12-19 21:23:31,606 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:23:31,606 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:23:31,606 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:31,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:31,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-12-19 21:23:31,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:31,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-12-19 21:23:31,608 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2018-12-19 21:23:31,699 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:23:31,700 INFO L225 Difference]: With dead ends: 56 [2018-12-19 21:23:31,701 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:23:31,701 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:23:31,701 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:23:31,956 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 37. [2018-12-19 21:23:31,956 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:31,956 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 37 states. [2018-12-19 21:23:31,957 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 37 states. [2018-12-19 21:23:31,957 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 37 states. [2018-12-19 21:23:31,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:31,959 INFO L93 Difference]: Finished difference Result 55 states and 156 transitions. [2018-12-19 21:23:31,959 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 156 transitions. [2018-12-19 21:23:31,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:31,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:31,960 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 55 states. [2018-12-19 21:23:31,960 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 55 states. [2018-12-19 21:23:31,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:31,961 INFO L93 Difference]: Finished difference Result 55 states and 156 transitions. [2018-12-19 21:23:31,961 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 156 transitions. [2018-12-19 21:23:31,961 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:31,961 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:31,961 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:31,961 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:31,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-12-19 21:23:31,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2018-12-19 21:23:31,962 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 5 [2018-12-19 21:23:31,962 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:31,962 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2018-12-19 21:23:31,963 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:23:31,963 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2018-12-19 21:23:31,963 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:23:31,963 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:31,963 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:23:31,963 INFO L423 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:31,963 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:31,963 INFO L82 PathProgramCache]: Analyzing trace with hash 29189286, now seen corresponding path program 1 times [2018-12-19 21:23:31,964 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:31,964 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:31,964 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:31,965 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:31,965 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:31,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:32,046 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4282#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:23:32,047 INFO L273 TraceCheckUtils]: 1: Hoare triple {4282#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:23:32,048 INFO L273 TraceCheckUtils]: 2: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:23:32,049 INFO L273 TraceCheckUtils]: 3: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:23:32,049 INFO L273 TraceCheckUtils]: 4: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2018-12-19 21:23:32,050 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:23:32,050 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:32,050 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:32,050 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:23:32,050 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [26], [27] [2018-12-19 21:23:32,052 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:32,052 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:32,070 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:32,070 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:23:32,070 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:32,071 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:32,071 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:32,071 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:23:32,085 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:32,085 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:32,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:32,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:32,097 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:32,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, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:32,130 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:23:32,147 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-19 21:23:32,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:32,181 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-12-19 21:23:32,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:32,222 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:32,223 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2018-12-19 21:23:32,229 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:32,254 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:32,268 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:32,283 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:32,298 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:32,316 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:23:32,316 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2018-12-19 21:23:32,322 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:32,323 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_100|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_100| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:23:32,323 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:23:32,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:32,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:32,422 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:32,424 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:32,424 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 28 [2018-12-19 21:23:32,427 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:32,454 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:23:32,454 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2018-12-19 21:23:32,459 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:32,460 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_101|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_101| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_101| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-19 21:23:32,460 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:23:32,589 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4287#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:23:32,591 INFO L273 TraceCheckUtils]: 1: Hoare triple {4287#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:23:32,592 INFO L273 TraceCheckUtils]: 2: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:23:32,593 INFO L273 TraceCheckUtils]: 3: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:23:32,594 INFO L273 TraceCheckUtils]: 4: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2018-12-19 21:23:32,595 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:23:32,595 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:32,620 INFO L273 TraceCheckUtils]: 4: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2018-12-19 21:23:32,620 INFO L273 TraceCheckUtils]: 3: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:23:32,621 INFO L273 TraceCheckUtils]: 2: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:23:32,622 INFO L273 TraceCheckUtils]: 1: Hoare triple {4311#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:23:32,624 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4311#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:23:32,625 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:23:32,644 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:32,645 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:23:32,645 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:32,645 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2018-12-19 21:23:32,645 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:32,645 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:23:32,658 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:23:32,658 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:23:32,658 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:23:32,658 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:23:32,658 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 6 states. [2018-12-19 21:23:33,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:33,489 INFO L93 Difference]: Finished difference Result 45 states and 143 transitions. [2018-12-19 21:23:33,489 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:23:33,490 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2018-12-19 21:23:33,490 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:33,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:23:33,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2018-12-19 21:23:33,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:23:33,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2018-12-19 21:23:33,491 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2018-12-19 21:23:33,543 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:23:33,544 INFO L225 Difference]: With dead ends: 45 [2018-12-19 21:23:33,544 INFO L226 Difference]: Without dead ends: 44 [2018-12-19 21:23:33,544 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-19 21:23:33,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-12-19 21:23:33,869 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 39. [2018-12-19 21:23:33,869 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:33,870 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 39 states. [2018-12-19 21:23:33,870 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 39 states. [2018-12-19 21:23:33,870 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 39 states. [2018-12-19 21:23:33,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:33,872 INFO L93 Difference]: Finished difference Result 44 states and 141 transitions. [2018-12-19 21:23:33,872 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 141 transitions. [2018-12-19 21:23:33,872 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:33,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:33,872 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 44 states. [2018-12-19 21:23:33,873 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 44 states. [2018-12-19 21:23:33,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:33,874 INFO L93 Difference]: Finished difference Result 44 states and 141 transitions. [2018-12-19 21:23:33,874 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 141 transitions. [2018-12-19 21:23:33,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:33,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:33,875 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:33,875 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:33,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-12-19 21:23:33,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 138 transitions. [2018-12-19 21:23:33,876 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 138 transitions. Word has length 5 [2018-12-19 21:23:33,876 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:33,876 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 138 transitions. [2018-12-19 21:23:33,876 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:23:33,876 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 138 transitions. [2018-12-19 21:23:33,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:23:33,877 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:33,877 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:23:33,877 INFO L423 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:33,877 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:33,877 INFO L82 PathProgramCache]: Analyzing trace with hash 29175208, now seen corresponding path program 1 times [2018-12-19 21:23:33,878 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:33,878 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:33,878 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:33,878 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:33,879 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:33,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:34,207 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4530#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:23:34,208 INFO L273 TraceCheckUtils]: 1: Hoare triple {4530#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4531#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:23:34,209 INFO L273 TraceCheckUtils]: 2: Hoare triple {4531#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4532#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:23:34,210 INFO L273 TraceCheckUtils]: 3: Hoare triple {4532#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:34,212 INFO L273 TraceCheckUtils]: 4: Hoare triple {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2018-12-19 21:23:34,213 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:23:34,213 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:34,213 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:34,213 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:23:34,213 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [23] [2018-12-19 21:23:34,214 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:34,214 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:34,231 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:34,231 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:23:34,231 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:34,232 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:34,232 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:34,232 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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:23:34,242 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:34,242 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:34,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:34,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:34,251 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:34,295 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:34,305 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,306 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:23:34,318 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,319 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,320 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:23:34,337 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,340 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:23:34,363 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,367 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,368 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:23:34,373 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:34,403 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:34,420 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:34,434 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:34,450 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:34,471 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:23:34,471 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:23:34,483 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:34,484 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_103|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store (store (store (store (store |v_#memory_int_103| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|)) [2018-12-19 21:23:34,484 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:23:34,582 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,583 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,585 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,586 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,587 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,588 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,589 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,591 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,592 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,593 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,600 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,601 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:23:34,605 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:34,652 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:23:34,652 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:34,679 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:34,679 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_104|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_104| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_104| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_104| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:34,680 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:34,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,758 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:34,766 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:23:34,767 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:23:34,788 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:34,978 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:23:34,978 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:23:36,987 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:36,988 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_105| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_105| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_105| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_105| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_105| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_105| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:36,988 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:37,116 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,117 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,121 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,123 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,124 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:37,131 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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:23:37,137 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:37,204 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:23:37,204 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-19 21:23:37,222 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:37,223 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_106| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_106| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_106| ULTIMATE.start_main_p2) 1) 0) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (+ (select |v_#memory_int_106| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:37,223 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:23:37,280 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4537#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:37,286 INFO L273 TraceCheckUtils]: 1: Hoare triple {4537#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4541#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:37,293 INFO L273 TraceCheckUtils]: 2: Hoare triple {4541#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4545#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:23:37,300 INFO L273 TraceCheckUtils]: 3: Hoare triple {4545#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:23:37,305 INFO L273 TraceCheckUtils]: 4: Hoare triple {4549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2018-12-19 21:23:37,305 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:23:37,305 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:37,421 INFO L273 TraceCheckUtils]: 4: Hoare triple {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2018-12-19 21:23:37,422 INFO L273 TraceCheckUtils]: 3: Hoare triple {4556#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:37,423 INFO L273 TraceCheckUtils]: 2: Hoare triple {4560#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4556#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:23:37,424 INFO L273 TraceCheckUtils]: 1: Hoare triple {4564#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4560#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:23:37,426 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4564#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:23:37,426 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:23:37,447 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:37,448 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:23:37,448 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:37,448 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:23:37,448 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:37,448 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:23:37,477 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:23:37,478 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:23:37,478 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:23:37,478 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:23:37,478 INFO L87 Difference]: Start difference. First operand 39 states and 138 transitions. Second operand 10 states. [2018-12-19 21:23:39,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:39,504 INFO L93 Difference]: Finished difference Result 71 states and 207 transitions. [2018-12-19 21:23:39,505 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:23:39,505 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:23:39,505 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:39,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:23:39,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2018-12-19 21:23:39,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:23:39,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2018-12-19 21:23:39,507 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 74 transitions. [2018-12-19 21:23:39,764 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:23:39,766 INFO L225 Difference]: With dead ends: 71 [2018-12-19 21:23:39,766 INFO L226 Difference]: Without dead ends: 70 [2018-12-19 21:23:39,766 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2018-12-19 21:23:39,767 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2018-12-19 21:23:40,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 40. [2018-12-19 21:23:40,064 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:40,064 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 40 states. [2018-12-19 21:23:40,064 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 40 states. [2018-12-19 21:23:40,064 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 40 states. [2018-12-19 21:23:40,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:40,066 INFO L93 Difference]: Finished difference Result 70 states and 205 transitions. [2018-12-19 21:23:40,067 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 205 transitions. [2018-12-19 21:23:40,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:40,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:40,067 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 70 states. [2018-12-19 21:23:40,067 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 70 states. [2018-12-19 21:23:40,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:40,068 INFO L93 Difference]: Finished difference Result 70 states and 205 transitions. [2018-12-19 21:23:40,068 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 205 transitions. [2018-12-19 21:23:40,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:40,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:40,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:40,069 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:40,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-12-19 21:23:40,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 144 transitions. [2018-12-19 21:23:40,070 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 144 transitions. Word has length 5 [2018-12-19 21:23:40,070 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:40,070 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 144 transitions. [2018-12-19 21:23:40,070 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:23:40,070 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 144 transitions. [2018-12-19 21:23:40,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:23:40,071 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:40,071 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:23:40,071 INFO L423 AbstractCegarLoop]: === Iteration 23 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:40,071 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:40,071 INFO L82 PathProgramCache]: Analyzing trace with hash 29179612, now seen corresponding path program 1 times [2018-12-19 21:23:40,071 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:40,072 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:40,072 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:40,072 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:40,072 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:40,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:40,214 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4873#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:23:40,215 INFO L273 TraceCheckUtils]: 1: Hoare triple {4873#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4874#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:40,216 INFO L273 TraceCheckUtils]: 2: Hoare triple {4874#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:40,217 INFO L273 TraceCheckUtils]: 3: Hoare triple {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:40,217 INFO L273 TraceCheckUtils]: 4: Hoare triple {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2018-12-19 21:23:40,217 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:23:40,217 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:40,217 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:40,218 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:23:40,218 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [25] [2018-12-19 21:23:40,219 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:40,219 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:40,245 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:40,246 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:23:40,246 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:40,246 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:40,246 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:40,246 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:23:40,254 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:40,254 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:40,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:40,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:40,266 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:40,282 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:40,288 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:23:40,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,298 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:23:40,312 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,313 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,314 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:23:40,328 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,335 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:23:40,337 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:40,358 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:40,371 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:40,383 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:40,394 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:40,412 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:23:40,412 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-19 21:23:40,418 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:40,419 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_110| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:40,419 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:23:40,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,483 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,485 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,487 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,488 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,490 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,490 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:23:40,493 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:40,521 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:23:40,521 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-19 21:23:40,556 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:40,556 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_111|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_111| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_111| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_111| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_111| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_111| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:23:40,556 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:40,656 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,657 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,659 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,660 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,661 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,663 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,664 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:40,666 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-19 21:23:40,669 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:40,704 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:23:40,704 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-19 21:23:42,109 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:42,109 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_112|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_112| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_112| ULTIMATE.start_main_p2) 0) (= 0 (+ (select |v_#memory_int_112| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_112| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_112| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:23:42,110 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:42,169 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4879#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:23:42,172 INFO L273 TraceCheckUtils]: 1: Hoare triple {4879#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4883#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:23:42,175 INFO L273 TraceCheckUtils]: 2: Hoare triple {4883#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:42,176 INFO L273 TraceCheckUtils]: 3: Hoare triple {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:42,176 INFO L273 TraceCheckUtils]: 4: Hoare triple {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2018-12-19 21:23:42,177 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:23:42,177 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:42,226 INFO L273 TraceCheckUtils]: 4: Hoare triple {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2018-12-19 21:23:42,227 INFO L273 TraceCheckUtils]: 3: Hoare triple {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:42,231 INFO L273 TraceCheckUtils]: 2: Hoare triple {4901#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:42,233 INFO L273 TraceCheckUtils]: 1: Hoare triple {4905#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4901#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:42,234 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4905#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:42,235 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:23:42,253 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:42,253 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:23:42,254 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:42,254 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:23:42,254 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:42,254 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:23:42,273 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:23:42,273 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:23:42,274 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:23:42,274 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:23:42,274 INFO L87 Difference]: Start difference. First operand 40 states and 144 transitions. Second operand 8 states. [2018-12-19 21:23:44,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:44,216 INFO L93 Difference]: Finished difference Result 59 states and 171 transitions. [2018-12-19 21:23:44,216 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:23:44,216 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:23:44,217 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:44,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:44,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2018-12-19 21:23:44,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:44,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2018-12-19 21:23:44,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 55 transitions. [2018-12-19 21:23:44,296 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:23:44,297 INFO L225 Difference]: With dead ends: 59 [2018-12-19 21:23:44,297 INFO L226 Difference]: Without dead ends: 58 [2018-12-19 21:23:44,298 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:23:44,298 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-12-19 21:23:44,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 41. [2018-12-19 21:23:44,656 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:44,656 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 41 states. [2018-12-19 21:23:44,656 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 41 states. [2018-12-19 21:23:44,656 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 41 states. [2018-12-19 21:23:44,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:44,658 INFO L93 Difference]: Finished difference Result 58 states and 169 transitions. [2018-12-19 21:23:44,658 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 169 transitions. [2018-12-19 21:23:44,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:44,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:44,659 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 58 states. [2018-12-19 21:23:44,659 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 58 states. [2018-12-19 21:23:44,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:44,661 INFO L93 Difference]: Finished difference Result 58 states and 169 transitions. [2018-12-19 21:23:44,661 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 169 transitions. [2018-12-19 21:23:44,661 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:44,661 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:44,661 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:44,661 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:44,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-12-19 21:23:44,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 150 transitions. [2018-12-19 21:23:44,662 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 150 transitions. Word has length 5 [2018-12-19 21:23:44,662 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:44,663 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 150 transitions. [2018-12-19 21:23:44,663 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:23:44,663 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 150 transitions. [2018-12-19 21:23:44,663 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:23:44,663 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:44,663 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:23:44,663 INFO L423 AbstractCegarLoop]: === Iteration 24 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:44,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:44,664 INFO L82 PathProgramCache]: Analyzing trace with hash 29179176, now seen corresponding path program 1 times [2018-12-19 21:23:44,664 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:44,664 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:44,664 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:44,665 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:44,665 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:44,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:45,299 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5175#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:23:45,300 INFO L273 TraceCheckUtils]: 1: Hoare triple {5175#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5176#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:23:45,301 INFO L273 TraceCheckUtils]: 2: Hoare triple {5176#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5177#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:23:45,302 INFO L273 TraceCheckUtils]: 3: Hoare triple {5177#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5178#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:23:45,303 INFO L273 TraceCheckUtils]: 4: Hoare triple {5178#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2018-12-19 21:23:45,303 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:23:45,304 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:45,304 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:45,304 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:23:45,304 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [23] [2018-12-19 21:23:45,305 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:45,306 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:45,317 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:45,317 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:23:45,317 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:45,317 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:45,317 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:45,317 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:23:45,328 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:45,328 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:45,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:45,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:45,337 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:45,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, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:45,363 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,364 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:23:45,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,377 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,378 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:23:45,394 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,396 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,397 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,398 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:23:45,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,421 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,422 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,424 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,425 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:23:45,430 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:45,459 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:45,476 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:45,490 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:45,503 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:45,524 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:23:45,524 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:23:45,530 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:45,530 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_115|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_115| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:45,530 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:23:45,602 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:45,617 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:23:45,621 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:45,687 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:23:45,687 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:45,971 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:45,972 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_116|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_116| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_116| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_116| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-19 21:23:45,972 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:46,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,061 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,063 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,064 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:23:46,070 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:46,123 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:23:46,124 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:23:46,206 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:46,207 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_117| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (store |v_#memory_int_117| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_117| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_117| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:23:46,207 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:46,378 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,381 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,382 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,384 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,388 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,389 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,390 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,391 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,393 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,393 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:23:46,394 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:46,395 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:23:46,401 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:46,486 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:23:46,486 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:23:48,597 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:48,597 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_118|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_118| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_118| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_118| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_118| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_118| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2018-12-19 21:23:48,597 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:48,706 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5182#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:48,708 INFO L273 TraceCheckUtils]: 1: Hoare triple {5182#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5186#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:48,711 INFO L273 TraceCheckUtils]: 2: Hoare triple {5186#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5190#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:48,717 INFO L273 TraceCheckUtils]: 3: Hoare triple {5190#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:23:48,718 INFO L273 TraceCheckUtils]: 4: Hoare triple {5194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2018-12-19 21:23:48,719 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:23:48,719 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:48,789 INFO L273 TraceCheckUtils]: 4: Hoare triple {5198#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2018-12-19 21:23:48,790 INFO L273 TraceCheckUtils]: 3: Hoare triple {5202#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5198#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:48,792 INFO L273 TraceCheckUtils]: 2: Hoare triple {5206#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5202#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:48,794 INFO L273 TraceCheckUtils]: 1: Hoare triple {5210#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5206#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:48,797 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5210#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:48,797 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:23:48,817 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:48,817 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:23:48,817 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:48,818 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:23:48,818 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:48,818 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:23:48,838 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:23:48,838 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:23:48,838 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:23:48,839 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:23:48,839 INFO L87 Difference]: Start difference. First operand 41 states and 150 transitions. Second operand 10 states. [2018-12-19 21:23:51,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:51,064 INFO L93 Difference]: Finished difference Result 71 states and 197 transitions. [2018-12-19 21:23:51,064 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:23:51,064 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:23:51,064 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:51,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:23:51,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2018-12-19 21:23:51,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:23:51,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2018-12-19 21:23:51,066 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 69 transitions. [2018-12-19 21:23:51,241 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:23:51,242 INFO L225 Difference]: With dead ends: 71 [2018-12-19 21:23:51,242 INFO L226 Difference]: Without dead ends: 70 [2018-12-19 21:23:51,243 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:23:51,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2018-12-19 21:23:51,682 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 38. [2018-12-19 21:23:51,683 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:51,683 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 38 states. [2018-12-19 21:23:51,683 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 38 states. [2018-12-19 21:23:51,683 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 38 states. [2018-12-19 21:23:51,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:51,685 INFO L93 Difference]: Finished difference Result 70 states and 195 transitions. [2018-12-19 21:23:51,685 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 195 transitions. [2018-12-19 21:23:51,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:51,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:51,686 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 70 states. [2018-12-19 21:23:51,686 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 70 states. [2018-12-19 21:23:51,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:51,688 INFO L93 Difference]: Finished difference Result 70 states and 195 transitions. [2018-12-19 21:23:51,688 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 195 transitions. [2018-12-19 21:23:51,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:51,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:51,689 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:51,689 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:51,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-12-19 21:23:51,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 132 transitions. [2018-12-19 21:23:51,690 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 132 transitions. Word has length 5 [2018-12-19 21:23:51,690 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:51,690 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 132 transitions. [2018-12-19 21:23:51,690 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:23:51,690 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 132 transitions. [2018-12-19 21:23:51,691 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:23:51,691 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:51,691 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:23:51,691 INFO L423 AbstractCegarLoop]: === Iteration 25 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:51,691 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:51,691 INFO L82 PathProgramCache]: Analyzing trace with hash 29231506, now seen corresponding path program 1 times [2018-12-19 21:23:51,691 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:51,692 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:51,692 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:51,692 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:51,692 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:51,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:51,869 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5515#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:51,870 INFO L273 TraceCheckUtils]: 1: Hoare triple {5515#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:51,871 INFO L273 TraceCheckUtils]: 2: Hoare triple {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:23:51,871 INFO L273 TraceCheckUtils]: 3: Hoare triple {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {5517#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:51,872 INFO L273 TraceCheckUtils]: 4: Hoare triple {5517#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2018-12-19 21:23:51,872 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:23:51,872 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:51,872 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:51,872 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:23:51,873 INFO L207 CegarAbsIntRunner]: [0], [6], [20], [24], [25] [2018-12-19 21:23:51,874 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:51,874 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:51,884 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:51,884 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:23:51,885 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:51,885 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:51,885 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:51,885 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:23:51,894 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:51,894 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:51,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:51,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:51,911 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:51,961 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:51,971 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:51,972 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:23:51,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:51,990 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:51,991 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:23:52,013 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,014 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,015 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,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, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:23:52,044 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,048 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,049 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:23:52,057 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:52,089 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:52,109 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:52,123 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:52,136 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:52,163 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:23:52,164 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:23:52,173 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:52,173 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_122|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_122| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:52,173 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:52,263 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,266 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,269 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,271 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:52,278 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:23:52,285 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:52,346 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:23:52,347 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:54,356 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:54,357 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_123|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_123| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_123| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_123| ULTIMATE.start_main_p3)))) [2018-12-19 21:23:54,357 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:54,687 WARN L181 SmtUtils]: Spent 115.00 ms on a formula simplification that was a NOOP. DAG size: 25 [2018-12-19 21:23:54,825 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,827 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,829 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,830 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,832 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,833 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,835 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,836 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,842 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:54,843 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:23:54,844 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:23:54,851 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:54,909 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:23:54,910 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:23:54,951 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:54,951 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_124|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_124| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_124| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_124| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_124| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_124| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_124| ULTIMATE.start_main_p5) 1))) [2018-12-19 21:23:54,952 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:23:55,038 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5521#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:55,042 INFO L273 TraceCheckUtils]: 1: Hoare triple {5521#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5525#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:23:55,046 INFO L273 TraceCheckUtils]: 2: Hoare triple {5525#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:23:55,047 INFO L273 TraceCheckUtils]: 3: Hoare triple {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:23:55,048 INFO L273 TraceCheckUtils]: 4: Hoare triple {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2018-12-19 21:23:55,049 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:23:55,049 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:23:55,111 INFO L273 TraceCheckUtils]: 4: Hoare triple {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2018-12-19 21:23:55,111 INFO L273 TraceCheckUtils]: 3: Hoare triple {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:55,113 INFO L273 TraceCheckUtils]: 2: Hoare triple {5543#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:55,114 INFO L273 TraceCheckUtils]: 1: Hoare triple {5547#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5543#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:55,117 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5547#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:23:55,117 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:23:55,137 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:23:55,138 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:23:55,138 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:23:55,138 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:23:55,138 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:23:55,138 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:23:55,159 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:23:55,159 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:23:55,159 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:23:55,160 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:23:55,160 INFO L87 Difference]: Start difference. First operand 38 states and 132 transitions. Second operand 8 states. [2018-12-19 21:23:56,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:56,839 INFO L93 Difference]: Finished difference Result 66 states and 183 transitions. [2018-12-19 21:23:56,840 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:23:56,840 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:23:56,840 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:23:56,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:56,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-19 21:23:56,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:23:56,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-19 21:23:56,842 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2018-12-19 21:23:56,994 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:23:56,996 INFO L225 Difference]: With dead ends: 66 [2018-12-19 21:23:56,996 INFO L226 Difference]: Without dead ends: 65 [2018-12-19 21:23:56,996 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:23:56,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2018-12-19 21:23:57,323 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 41. [2018-12-19 21:23:57,323 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:23:57,323 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 41 states. [2018-12-19 21:23:57,323 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 41 states. [2018-12-19 21:23:57,324 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 41 states. [2018-12-19 21:23:57,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:57,325 INFO L93 Difference]: Finished difference Result 65 states and 181 transitions. [2018-12-19 21:23:57,325 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 181 transitions. [2018-12-19 21:23:57,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:57,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:57,326 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 65 states. [2018-12-19 21:23:57,326 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 65 states. [2018-12-19 21:23:57,327 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:23:57,327 INFO L93 Difference]: Finished difference Result 65 states and 181 transitions. [2018-12-19 21:23:57,327 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 181 transitions. [2018-12-19 21:23:57,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:23:57,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:23:57,328 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:23:57,328 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:23:57,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-12-19 21:23:57,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 150 transitions. [2018-12-19 21:23:57,329 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 150 transitions. Word has length 5 [2018-12-19 21:23:57,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:23:57,329 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 150 transitions. [2018-12-19 21:23:57,329 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:23:57,329 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 150 transitions. [2018-12-19 21:23:57,329 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:23:57,329 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:23:57,329 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:23:57,330 INFO L423 AbstractCegarLoop]: === Iteration 26 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:23:57,330 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:57,330 INFO L82 PathProgramCache]: Analyzing trace with hash 29231070, now seen corresponding path program 1 times [2018-12-19 21:23:57,330 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:23:57,331 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:57,331 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:57,331 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:23:57,331 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:23:57,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:57,565 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5839#(and (<= (+ ULTIMATE.start_main_p1 4) ULTIMATE.start_main_p5) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:23:57,566 INFO L273 TraceCheckUtils]: 1: Hoare triple {5839#(and (<= (+ ULTIMATE.start_main_p1 4) ULTIMATE.start_main_p5) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5840#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:23:57,567 INFO L273 TraceCheckUtils]: 2: Hoare triple {5840#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5841#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:23:57,567 INFO L273 TraceCheckUtils]: 3: Hoare triple {5841#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5842#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:23:57,568 INFO L273 TraceCheckUtils]: 4: Hoare triple {5842#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2018-12-19 21:23:57,568 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:23:57,568 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:57,569 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:23:57,569 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:23:57,569 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [20], [23] [2018-12-19 21:23:57,570 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:23:57,571 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:23:57,580 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:23:57,580 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:23:57,581 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:23:57,581 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:23:57,581 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:23:57,581 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:23:57,591 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:23:57,591 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:23:57,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:57,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:23:57,599 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:23:57,626 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:23:57,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,635 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:23:57,646 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,646 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,647 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:23:57,661 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,663 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,664 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,665 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:23:57,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,719 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,722 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:23:57,728 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:57,773 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:57,795 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:57,816 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:57,832 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:23:57,862 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:23:57,862 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:23:57,869 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:23:57,870 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_127|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store (store (store (store (store |v_#memory_int_127| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:57,870 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:23:57,971 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,973 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,986 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,991 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,993 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,995 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:23:57,996 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:23:58,000 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:23:58,058 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:23:58,058 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:00,065 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:00,065 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_128|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_128| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (= (select |v_#memory_int_128| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_128| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_128| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_128| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_128| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:24:00,065 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:00,144 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,149 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,152 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,154 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,155 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,156 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,157 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,158 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:24:00,159 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:24:00,163 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:00,213 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:24:00,214 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:00,230 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:00,230 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_129|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_129| ULTIMATE.start_main_p1))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_129| ULTIMATE.start_main_p2) 0) (= 1 (select |v_#memory_int_129| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_129| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_129| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_129| ULTIMATE.start_main_p4) 0))) [2018-12-19 21:24:00,231 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:00,330 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,331 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,333 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,335 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,337 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,341 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,343 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,344 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,345 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:00,346 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:24:00,352 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:00,407 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:24:00,407 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:00,422 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:00,422 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_130|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_130| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_130| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_130| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_130| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:24:00,422 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:00,475 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5846#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:24:00,478 INFO L273 TraceCheckUtils]: 1: Hoare triple {5846#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5850#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:24:00,480 INFO L273 TraceCheckUtils]: 2: Hoare triple {5850#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5854#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:24:00,484 INFO L273 TraceCheckUtils]: 3: Hoare triple {5854#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5858#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:24:00,485 INFO L273 TraceCheckUtils]: 4: Hoare triple {5858#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2018-12-19 21:24:00,486 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:24:00,486 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:24:00,548 INFO L273 TraceCheckUtils]: 4: Hoare triple {5862#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2018-12-19 21:24:00,550 INFO L273 TraceCheckUtils]: 3: Hoare triple {5866#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5862#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:00,551 INFO L273 TraceCheckUtils]: 2: Hoare triple {5870#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5866#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:00,553 INFO L273 TraceCheckUtils]: 1: Hoare triple {5874#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5870#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:00,555 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5874#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:00,556 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:24:00,575 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:24:00,575 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:24:00,575 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:24:00,576 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:24:00,576 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:24:00,576 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:24:00,595 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:24:00,595 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:24:00,595 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:24:00,595 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:24:00,596 INFO L87 Difference]: Start difference. First operand 41 states and 150 transitions. Second operand 10 states. [2018-12-19 21:24:02,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:02,397 INFO L93 Difference]: Finished difference Result 93 states and 253 transitions. [2018-12-19 21:24:02,397 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:24:02,397 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:24:02,398 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:24:02,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:24:02,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-19 21:24:02,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:24:02,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-19 21:24:02,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2018-12-19 21:24:02,599 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:24:02,601 INFO L225 Difference]: With dead ends: 93 [2018-12-19 21:24:02,601 INFO L226 Difference]: Without dead ends: 92 [2018-12-19 21:24:02,602 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:24:02,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2018-12-19 21:24:03,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 48. [2018-12-19 21:24:03,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:24:03,378 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 48 states. [2018-12-19 21:24:03,378 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 48 states. [2018-12-19 21:24:03,378 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 48 states. [2018-12-19 21:24:03,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:03,381 INFO L93 Difference]: Finished difference Result 92 states and 251 transitions. [2018-12-19 21:24:03,381 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 251 transitions. [2018-12-19 21:24:03,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:03,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:03,382 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 92 states. [2018-12-19 21:24:03,382 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 92 states. [2018-12-19 21:24:03,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:03,384 INFO L93 Difference]: Finished difference Result 92 states and 251 transitions. [2018-12-19 21:24:03,384 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 251 transitions. [2018-12-19 21:24:03,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:03,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:03,384 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:24:03,384 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:24:03,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-12-19 21:24:03,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 192 transitions. [2018-12-19 21:24:03,386 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 192 transitions. Word has length 5 [2018-12-19 21:24:03,386 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:24:03,386 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 192 transitions. [2018-12-19 21:24:03,386 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:24:03,386 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 192 transitions. [2018-12-19 21:24:03,387 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:24:03,387 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:24:03,387 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:24:03,387 INFO L423 AbstractCegarLoop]: === Iteration 27 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:24:03,387 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:03,387 INFO L82 PathProgramCache]: Analyzing trace with hash 29248868, now seen corresponding path program 1 times [2018-12-19 21:24:03,387 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:24:03,388 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:03,388 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:03,388 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:03,388 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:24:03,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:03,572 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6270#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:24:03,573 INFO L273 TraceCheckUtils]: 1: Hoare triple {6270#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:24:03,574 INFO L273 TraceCheckUtils]: 2: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:24:03,574 INFO L273 TraceCheckUtils]: 3: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:24:03,575 INFO L273 TraceCheckUtils]: 4: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2018-12-19 21:24:03,575 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:24:03,575 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:03,575 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:24:03,575 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:24:03,575 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [26], [27] [2018-12-19 21:24:03,576 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:24:03,577 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:24:03,588 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:24:03,589 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:24:03,589 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:03,589 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:24:03,589 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:03,589 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:24:03,598 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:03,598 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:24:03,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:03,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:03,607 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:24:03,629 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:24:03,637 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:24:03,648 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-19 21:24:03,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:03,663 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-12-19 21:24:03,679 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:03,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:03,687 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2018-12-19 21:24:03,692 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:03,709 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:03,722 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:03,735 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:03,748 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:03,769 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:24:03,770 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2018-12-19 21:24:03,778 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:03,778 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_134|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_134| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:24:03,779 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:24:03,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:03,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:03,840 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:03,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:03,842 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 34 [2018-12-19 21:24:03,846 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:03,868 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:24:03,869 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2018-12-19 21:24:03,879 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:03,880 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_135|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_135| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_135| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_135| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_135| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-19 21:24:03,880 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:24:03,943 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6275#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:24:03,945 INFO L273 TraceCheckUtils]: 1: Hoare triple {6275#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:24:03,946 INFO L273 TraceCheckUtils]: 2: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:24:03,947 INFO L273 TraceCheckUtils]: 3: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p2] <= 0; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:24:03,948 INFO L273 TraceCheckUtils]: 4: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2018-12-19 21:24:03,948 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:24:03,949 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:24:03,975 INFO L273 TraceCheckUtils]: 4: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2018-12-19 21:24:03,975 INFO L273 TraceCheckUtils]: 3: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:03,976 INFO L273 TraceCheckUtils]: 2: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:03,977 INFO L273 TraceCheckUtils]: 1: Hoare triple {6299#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:03,979 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6299#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:03,979 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:24:04,000 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-19 21:24:04,000 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2018-12-19 21:24:04,000 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:24:04,000 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2018-12-19 21:24:04,001 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:24:04,001 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:24:04,005 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:24:04,005 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:24:04,005 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:24:04,005 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:24:04,005 INFO L87 Difference]: Start difference. First operand 48 states and 192 transitions. Second operand 4 states. [2018-12-19 21:24:05,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:05,061 INFO L93 Difference]: Finished difference Result 56 states and 215 transitions. [2018-12-19 21:24:05,061 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:24:05,061 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2018-12-19 21:24:05,062 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:24:05,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:24:05,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-19 21:24:05,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:24:05,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-19 21:24:05,063 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 25 transitions. [2018-12-19 21:24:05,085 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:24:05,086 INFO L225 Difference]: With dead ends: 56 [2018-12-19 21:24:05,086 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:24:05,087 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:24:05,087 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:24:06,097 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 52. [2018-12-19 21:24:06,097 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:24:06,097 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 52 states. [2018-12-19 21:24:06,097 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 52 states. [2018-12-19 21:24:06,097 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 52 states. [2018-12-19 21:24:06,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:06,100 INFO L93 Difference]: Finished difference Result 55 states and 213 transitions. [2018-12-19 21:24:06,100 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 213 transitions. [2018-12-19 21:24:06,100 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:06,100 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:06,100 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 55 states. [2018-12-19 21:24:06,100 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 55 states. [2018-12-19 21:24:06,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:06,102 INFO L93 Difference]: Finished difference Result 55 states and 213 transitions. [2018-12-19 21:24:06,102 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 213 transitions. [2018-12-19 21:24:06,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:06,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:06,103 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:24:06,103 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:24:06,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-12-19 21:24:06,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 211 transitions. [2018-12-19 21:24:06,104 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 211 transitions. Word has length 5 [2018-12-19 21:24:06,104 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:24:06,104 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 211 transitions. [2018-12-19 21:24:06,104 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:24:06,104 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 211 transitions. [2018-12-19 21:24:06,104 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:24:06,104 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:24:06,105 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:24:06,105 INFO L423 AbstractCegarLoop]: === Iteration 28 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:24:06,105 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:06,105 INFO L82 PathProgramCache]: Analyzing trace with hash 29235350, now seen corresponding path program 1 times [2018-12-19 21:24:06,105 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:24:06,106 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:06,106 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:06,106 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:06,106 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:24:06,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:06,179 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6586#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:06,180 INFO L273 TraceCheckUtils]: 1: Hoare triple {6586#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6587#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:06,181 INFO L273 TraceCheckUtils]: 2: Hoare triple {6587#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:24:06,181 INFO L273 TraceCheckUtils]: 3: Hoare triple {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:24:06,182 INFO L273 TraceCheckUtils]: 4: Hoare triple {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2018-12-19 21:24:06,183 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:24:06,183 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:06,183 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:24:06,183 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:24:06,183 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [24], [25] [2018-12-19 21:24:06,184 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:24:06,184 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:24:06,193 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:24:06,194 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:24:06,194 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:06,194 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:24:06,194 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:06,194 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:24:06,203 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:06,203 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:24:06,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:06,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:06,215 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:24:06,246 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:24:06,253 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:24:06,261 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,262 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:24:06,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,278 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:24:06,293 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,301 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:24:06,306 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:06,326 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:06,339 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:06,350 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:06,361 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:06,383 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:24:06,383 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-19 21:24:06,394 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:06,394 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_137|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_137| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:06,394 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:06,453 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,454 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,455 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,456 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,458 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,460 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:06,461 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:24:06,497 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:06,528 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:24:06,529 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-19 21:24:08,536 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:08,536 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_138|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_138| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_138| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p4)))) [2018-12-19 21:24:08,536 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:08,586 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:08,587 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:08,588 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:08,589 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:08,590 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:08,592 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:08,593 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:08,594 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:08,595 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:08,598 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 65 [2018-12-19 21:24:08,599 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:08,631 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:24:08,631 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-19 21:24:08,643 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:08,644 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_139|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_139| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_139| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_139| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_139| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (store |v_#memory_int_139| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:24:08,644 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:08,698 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6592#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:08,701 INFO L273 TraceCheckUtils]: 1: Hoare triple {6592#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6596#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:24:08,703 INFO L273 TraceCheckUtils]: 2: Hoare triple {6596#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:24:08,704 INFO L273 TraceCheckUtils]: 3: Hoare triple {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:24:08,705 INFO L273 TraceCheckUtils]: 4: Hoare triple {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2018-12-19 21:24:08,706 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:24:08,706 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:24:08,738 INFO L273 TraceCheckUtils]: 4: Hoare triple {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2018-12-19 21:24:08,739 INFO L273 TraceCheckUtils]: 3: Hoare triple {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:08,740 INFO L273 TraceCheckUtils]: 2: Hoare triple {6614#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:08,741 INFO L273 TraceCheckUtils]: 1: Hoare triple {6618#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6614#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:24:08,743 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6618#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:24:08,743 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:24:08,763 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:24:08,763 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:24:08,763 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:24:08,764 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:08,764 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:24:08,764 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:24:08,777 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:24:08,777 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:24:08,777 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:24:08,777 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:24:08,777 INFO L87 Difference]: Start difference. First operand 52 states and 211 transitions. Second operand 8 states. [2018-12-19 21:24:10,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:10,988 INFO L93 Difference]: Finished difference Result 85 states and 266 transitions. [2018-12-19 21:24:10,988 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:24:10,989 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:10,989 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:24:10,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:10,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-19 21:24:10,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:10,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-19 21:24:10,990 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2018-12-19 21:24:11,124 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:24:11,126 INFO L225 Difference]: With dead ends: 85 [2018-12-19 21:24:11,126 INFO L226 Difference]: Without dead ends: 84 [2018-12-19 21:24:11,127 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:24:11,127 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2018-12-19 21:24:11,757 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 54. [2018-12-19 21:24:11,757 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:24:11,757 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 54 states. [2018-12-19 21:24:11,757 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 54 states. [2018-12-19 21:24:11,758 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 54 states. [2018-12-19 21:24:11,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:11,759 INFO L93 Difference]: Finished difference Result 84 states and 264 transitions. [2018-12-19 21:24:11,759 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 264 transitions. [2018-12-19 21:24:11,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:11,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:11,760 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 84 states. [2018-12-19 21:24:11,760 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 84 states. [2018-12-19 21:24:11,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:11,761 INFO L93 Difference]: Finished difference Result 84 states and 264 transitions. [2018-12-19 21:24:11,762 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 264 transitions. [2018-12-19 21:24:11,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:11,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:11,762 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:24:11,762 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:24:11,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-12-19 21:24:11,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 223 transitions. [2018-12-19 21:24:11,764 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 223 transitions. Word has length 5 [2018-12-19 21:24:11,764 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:24:11,764 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 223 transitions. [2018-12-19 21:24:11,764 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:24:11,764 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 223 transitions. [2018-12-19 21:24:11,764 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:24:11,765 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:24:11,765 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:24:11,765 INFO L423 AbstractCegarLoop]: === Iteration 29 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:24:11,765 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:11,765 INFO L82 PathProgramCache]: Analyzing trace with hash 29235038, now seen corresponding path program 1 times [2018-12-19 21:24:11,765 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:24:11,766 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:11,766 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:11,766 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:11,766 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:24:11,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:11,989 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7003#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:24:11,990 INFO L273 TraceCheckUtils]: 1: Hoare triple {7003#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7004#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:24:11,991 INFO L273 TraceCheckUtils]: 2: Hoare triple {7004#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7005#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:24:11,992 INFO L273 TraceCheckUtils]: 3: Hoare triple {7005#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7006#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:24:11,992 INFO L273 TraceCheckUtils]: 4: Hoare triple {7006#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2018-12-19 21:24:11,992 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:24:11,993 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:11,993 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:24:11,993 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:24:11,993 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [20], [23] [2018-12-19 21:24:11,995 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:24:11,995 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:24:12,006 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:24:12,006 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:24:12,006 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:12,006 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:24:12,007 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:12,007 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:24:12,015 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:12,016 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:24:12,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:12,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:12,028 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:24:12,050 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:24:12,061 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,062 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:24:12,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,075 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:24:12,092 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,095 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:24:12,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,121 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,123 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:24:12,129 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:12,159 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:12,176 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:12,190 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:12,203 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:12,240 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:24:12,241 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:24:12,250 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:12,250 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_142|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_142| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:12,250 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:12,327 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,328 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,329 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,330 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,333 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,335 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:12,340 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:24:12,345 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:12,392 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:24:12,393 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:14,487 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:14,487 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_143|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_143| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_143| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (= 0 (select |v_#memory_int_143| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_143| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2018-12-19 21:24:14,488 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:14,691 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,695 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,697 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,698 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,700 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,701 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,702 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,704 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,705 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,707 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:14,708 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:24:14,714 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:14,767 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:24:14,768 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:16,921 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:16,921 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_144|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_144| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_144| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_144| ULTIMATE.start_main_p1) 0) (= 1 (select |v_#memory_int_144| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:24:16,922 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:17,043 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,044 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,048 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,056 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:17,061 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:24:17,062 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 98 [2018-12-19 21:24:17,067 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:17,174 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:24:17,175 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:24:17,221 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:17,222 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_145|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_145| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_145| ULTIMATE.start_main_p2) 1)) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 1 (select |v_#memory_int_145| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_145| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2018-12-19 21:24:17,222 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:24:17,300 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7010#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:24:17,305 INFO L273 TraceCheckUtils]: 1: Hoare triple {7010#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7014#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:24:17,307 INFO L273 TraceCheckUtils]: 2: Hoare triple {7014#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7018#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:24:17,310 INFO L273 TraceCheckUtils]: 3: Hoare triple {7018#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7022#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:24:17,312 INFO L273 TraceCheckUtils]: 4: Hoare triple {7022#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2018-12-19 21:24:17,312 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:24:17,312 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:24:17,393 INFO L273 TraceCheckUtils]: 4: Hoare triple {7026#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2018-12-19 21:24:17,394 INFO L273 TraceCheckUtils]: 3: Hoare triple {7030#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7026#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:17,395 INFO L273 TraceCheckUtils]: 2: Hoare triple {7034#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7030#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:17,398 INFO L273 TraceCheckUtils]: 1: Hoare triple {7038#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7034#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:17,400 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7038#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:17,400 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:24:17,422 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:24:17,422 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:24:17,422 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:24:17,422 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:24:17,422 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:24:17,423 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:24:17,439 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:24:17,439 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:24:17,439 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:24:17,439 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=114, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:24:17,439 INFO L87 Difference]: Start difference. First operand 54 states and 223 transitions. Second operand 10 states. [2018-12-19 21:24:20,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:20,318 INFO L93 Difference]: Finished difference Result 96 states and 303 transitions. [2018-12-19 21:24:20,318 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:24:20,318 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:24:20,318 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:24:20,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:24:20,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2018-12-19 21:24:20,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:24:20,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2018-12-19 21:24:20,319 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 71 transitions. [2018-12-19 21:24:20,604 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:24:20,606 INFO L225 Difference]: With dead ends: 96 [2018-12-19 21:24:20,606 INFO L226 Difference]: Without dead ends: 94 [2018-12-19 21:24:20,606 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=101, Invalid=171, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:24:20,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2018-12-19 21:24:21,427 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 61. [2018-12-19 21:24:21,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:24:21,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand 61 states. [2018-12-19 21:24:21,428 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 61 states. [2018-12-19 21:24:21,428 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 61 states. [2018-12-19 21:24:21,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:21,431 INFO L93 Difference]: Finished difference Result 94 states and 300 transitions. [2018-12-19 21:24:21,431 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 300 transitions. [2018-12-19 21:24:21,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:21,432 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:21,432 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 94 states. [2018-12-19 21:24:21,432 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 94 states. [2018-12-19 21:24:21,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:21,434 INFO L93 Difference]: Finished difference Result 94 states and 300 transitions. [2018-12-19 21:24:21,435 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 300 transitions. [2018-12-19 21:24:21,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:21,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:21,435 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:24:21,435 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:24:21,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-12-19 21:24:21,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 265 transitions. [2018-12-19 21:24:21,437 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 265 transitions. Word has length 5 [2018-12-19 21:24:21,437 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:24:21,438 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 265 transitions. [2018-12-19 21:24:21,438 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:24:21,438 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 265 transitions. [2018-12-19 21:24:21,438 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:24:21,438 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:24:21,438 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:24:21,439 INFO L423 AbstractCegarLoop]: === Iteration 30 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:24:21,439 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:21,439 INFO L82 PathProgramCache]: Analyzing trace with hash 29239194, now seen corresponding path program 1 times [2018-12-19 21:24:21,439 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:24:21,440 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:21,440 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:21,440 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:21,440 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:24:21,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:21,678 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7477#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:21,680 INFO L273 TraceCheckUtils]: 1: Hoare triple {7477#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7478#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:21,681 INFO L273 TraceCheckUtils]: 2: Hoare triple {7478#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:21,681 INFO L273 TraceCheckUtils]: 3: Hoare triple {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:21,682 INFO L273 TraceCheckUtils]: 4: Hoare triple {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2018-12-19 21:24:21,682 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:24:21,682 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:21,683 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:24:21,683 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:24:21,683 INFO L207 CegarAbsIntRunner]: [0], [14], [20], [24], [25] [2018-12-19 21:24:21,684 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:24:21,685 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:24:21,692 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:24:21,692 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:24:21,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:21,692 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:24:21,692 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:21,693 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:24:21,704 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:21,704 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:24:21,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:21,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:21,713 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:24:21,729 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:24:21,736 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:24:21,749 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,749 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:24:21,776 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,778 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,779 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:24:21,793 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,798 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,799 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,800 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:24:21,803 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:21,825 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:21,838 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:21,889 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:21,901 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:21,923 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:24:21,923 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-19 21:24:21,932 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:21,932 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_149|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_149| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:21,932 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:21,989 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,990 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,992 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,993 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,994 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,995 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:21,997 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:24:22,001 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:22,029 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:24:22,030 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-19 21:24:24,035 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:24,035 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_150|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_150| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_150| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_150| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_150| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_150| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2018-12-19 21:24:24,036 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:24,114 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:24,142 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:24,153 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:24,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:24,198 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:24,215 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:24,238 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:24,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:24,252 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:24:24,252 INFO L303 Elim1Store]: Index analysis took 165 ms [2018-12-19 21:24:24,253 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 59 [2018-12-19 21:24:24,255 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:24,291 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:24:24,291 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-19 21:24:24,309 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:24,310 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_151|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_151| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_151| ULTIMATE.start_main_p4)) (= 0 .cse0) (= (select |v_#memory_int_151| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_151| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_151| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:24:24,310 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:24,359 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7483#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:24,361 INFO L273 TraceCheckUtils]: 1: Hoare triple {7483#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7487#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:24,364 INFO L273 TraceCheckUtils]: 2: Hoare triple {7487#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:24,365 INFO L273 TraceCheckUtils]: 3: Hoare triple {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:24,365 INFO L273 TraceCheckUtils]: 4: Hoare triple {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2018-12-19 21:24:24,366 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:24:24,366 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:24:24,408 INFO L273 TraceCheckUtils]: 4: Hoare triple {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2018-12-19 21:24:24,409 INFO L273 TraceCheckUtils]: 3: Hoare triple {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:24,410 INFO L273 TraceCheckUtils]: 2: Hoare triple {7505#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:24,412 INFO L273 TraceCheckUtils]: 1: Hoare triple {7509#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7505#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:24,413 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7509#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:24,413 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:24:24,433 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:24:24,433 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:24:24,433 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:24:24,433 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:24,433 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:24:24,433 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:24:24,449 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:24:24,450 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:24:24,450 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:24:24,450 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:24:24,450 INFO L87 Difference]: Start difference. First operand 61 states and 265 transitions. Second operand 8 states. [2018-12-19 21:24:25,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:25,898 INFO L93 Difference]: Finished difference Result 82 states and 289 transitions. [2018-12-19 21:24:25,898 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:24:25,898 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:25,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:24:25,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:25,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2018-12-19 21:24:25,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:25,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2018-12-19 21:24:25,899 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 55 transitions. [2018-12-19 21:24:25,982 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:24:25,984 INFO L225 Difference]: With dead ends: 82 [2018-12-19 21:24:25,984 INFO L226 Difference]: Without dead ends: 81 [2018-12-19 21:24:25,984 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:24:25,985 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-12-19 21:24:26,946 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 61. [2018-12-19 21:24:26,946 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:24:26,946 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 61 states. [2018-12-19 21:24:26,947 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 61 states. [2018-12-19 21:24:26,947 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 61 states. [2018-12-19 21:24:26,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:26,949 INFO L93 Difference]: Finished difference Result 81 states and 287 transitions. [2018-12-19 21:24:26,949 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 287 transitions. [2018-12-19 21:24:26,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:26,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:26,950 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 81 states. [2018-12-19 21:24:26,950 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 81 states. [2018-12-19 21:24:26,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:26,952 INFO L93 Difference]: Finished difference Result 81 states and 287 transitions. [2018-12-19 21:24:26,952 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 287 transitions. [2018-12-19 21:24:26,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:26,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:26,952 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:24:26,953 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:24:26,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-12-19 21:24:26,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 265 transitions. [2018-12-19 21:24:26,954 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 265 transitions. Word has length 5 [2018-12-19 21:24:26,955 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:24:26,955 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 265 transitions. [2018-12-19 21:24:26,955 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:24:26,955 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 265 transitions. [2018-12-19 21:24:26,955 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:24:26,955 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:24:26,956 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:24:26,956 INFO L423 AbstractCegarLoop]: === Iteration 31 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:24:26,956 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:26,956 INFO L82 PathProgramCache]: Analyzing trace with hash 28818276, now seen corresponding path program 1 times [2018-12-19 21:24:26,956 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:24:26,957 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:26,957 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:26,957 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:26,957 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:24:26,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:27,401 WARN L181 SmtUtils]: Spent 248.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 13 [2018-12-19 21:24:27,528 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7906#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:27,529 INFO L273 TraceCheckUtils]: 1: Hoare triple {7906#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7907#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:27,529 INFO L273 TraceCheckUtils]: 2: Hoare triple {7907#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:27,530 INFO L273 TraceCheckUtils]: 3: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:27,530 INFO L273 TraceCheckUtils]: 4: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2018-12-19 21:24:27,530 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:24:27,531 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:27,531 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:24:27,531 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:24:27,531 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [24], [25] [2018-12-19 21:24:27,531 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:24:27,532 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:24:27,541 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:24:27,542 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:24:27,542 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:27,542 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:24:27,542 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:27,542 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:24:27,552 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:27,552 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:24:27,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:27,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:27,560 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:24:27,598 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:24:27,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,609 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:24:27,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,627 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:24:27,647 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,649 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,650 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,651 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:24:27,677 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,678 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,679 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,681 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,682 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:24:27,687 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:27,717 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:27,735 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:27,749 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:27,763 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:27,789 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:24:27,789 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-19 21:24:27,803 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:27,803 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_154|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_154| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:27,803 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:27,892 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,893 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,896 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,897 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,901 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,903 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,904 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,905 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:27,906 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:24:27,913 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:27,967 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:24:27,967 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:28,046 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:28,046 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_155|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_155| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_155| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_155| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_155| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_155| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_155| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:24:28,047 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:28,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,139 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,140 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,141 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,142 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,144 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,148 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:28,152 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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:24:28,158 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:28,218 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:24:28,218 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:28,275 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:28,275 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_156|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_156| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_156| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_156| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_156| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p3)))) [2018-12-19 21:24:28,275 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:28,379 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7912#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:24:28,384 INFO L273 TraceCheckUtils]: 1: Hoare triple {7912#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7916#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:28,389 INFO L273 TraceCheckUtils]: 2: Hoare triple {7916#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:24:28,390 INFO L273 TraceCheckUtils]: 3: Hoare triple {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:24:28,394 INFO L273 TraceCheckUtils]: 4: Hoare triple {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2018-12-19 21:24:28,394 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:24:28,395 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:24:28,468 INFO L273 TraceCheckUtils]: 4: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2018-12-19 21:24:28,468 INFO L273 TraceCheckUtils]: 3: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:28,470 INFO L273 TraceCheckUtils]: 2: Hoare triple {7933#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:28,470 INFO L273 TraceCheckUtils]: 1: Hoare triple {7937#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7933#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:24:28,472 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7937#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:24:28,472 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:24:28,491 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:24:28,491 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:24:28,491 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:24:28,492 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:28,492 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:24:28,492 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:24:28,519 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:24:28,519 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:24:28,520 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:24:28,520 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:24:28,520 INFO L87 Difference]: Start difference. First operand 61 states and 265 transitions. Second operand 8 states. [2018-12-19 21:24:30,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:30,768 INFO L93 Difference]: Finished difference Result 87 states and 319 transitions. [2018-12-19 21:24:30,768 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:24:30,768 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:30,768 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:24:30,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:30,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2018-12-19 21:24:30,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:30,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2018-12-19 21:24:30,769 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 63 transitions. [2018-12-19 21:24:30,870 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:24:30,871 INFO L225 Difference]: With dead ends: 87 [2018-12-19 21:24:30,872 INFO L226 Difference]: Without dead ends: 86 [2018-12-19 21:24:30,872 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:24:30,872 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-12-19 21:24:31,799 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 67. [2018-12-19 21:24:31,799 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:24:31,799 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 67 states. [2018-12-19 21:24:31,799 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 67 states. [2018-12-19 21:24:31,800 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 67 states. [2018-12-19 21:24:31,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:31,801 INFO L93 Difference]: Finished difference Result 86 states and 317 transitions. [2018-12-19 21:24:31,801 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 317 transitions. [2018-12-19 21:24:31,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:31,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:31,802 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 86 states. [2018-12-19 21:24:31,802 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 86 states. [2018-12-19 21:24:31,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:31,804 INFO L93 Difference]: Finished difference Result 86 states and 317 transitions. [2018-12-19 21:24:31,805 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 317 transitions. [2018-12-19 21:24:31,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:31,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:31,805 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:24:31,805 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:24:31,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2018-12-19 21:24:31,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 302 transitions. [2018-12-19 21:24:31,807 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 302 transitions. Word has length 5 [2018-12-19 21:24:31,807 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:24:31,807 INFO L480 AbstractCegarLoop]: Abstraction has 67 states and 302 transitions. [2018-12-19 21:24:31,807 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:24:31,807 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 302 transitions. [2018-12-19 21:24:31,807 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:24:31,807 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:24:31,807 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:24:31,808 INFO L423 AbstractCegarLoop]: === Iteration 32 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:24:31,808 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:31,808 INFO L82 PathProgramCache]: Analyzing trace with hash 28822120, now seen corresponding path program 1 times [2018-12-19 21:24:31,808 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:24:31,808 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:31,809 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:31,809 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:31,809 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:24:31,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:31,956 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:31,957 INFO L273 TraceCheckUtils]: 1: Hoare triple {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:31,958 INFO L273 TraceCheckUtils]: 2: Hoare triple {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8365#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:24:31,959 INFO L273 TraceCheckUtils]: 3: Hoare triple {8365#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {8366#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:31,960 INFO L273 TraceCheckUtils]: 4: Hoare triple {8366#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2018-12-19 21:24:31,960 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:24:31,961 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:31,961 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:24:31,961 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:24:31,961 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [24], [25] [2018-12-19 21:24:31,964 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:24:31,964 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:24:31,974 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:24:31,974 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:24:31,974 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:31,975 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:24:31,975 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:31,975 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:24:31,988 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:31,988 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:24:31,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:31,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:32,000 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:24:32,035 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:24:32,042 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,043 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:24:32,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,056 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:24:32,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,075 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:24:32,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,096 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,099 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,100 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:24:32,104 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:32,154 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:32,175 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:32,188 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:32,200 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:32,222 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:24:32,223 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:24:32,231 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:32,231 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_159|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_159| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:32,231 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:32,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,296 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,301 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,302 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,303 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,304 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:24:32,308 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:32,356 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:24:32,357 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:32,375 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:32,375 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_160|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_160| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_160| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_160| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_160| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_160| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_160| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:24:32,375 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:32,436 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,438 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,440 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,442 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,443 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,444 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,447 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,448 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,449 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,450 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:32,450 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:24:32,451 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:24:32,456 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:32,502 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:24:32,502 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:32,547 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:32,547 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_161|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_161| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_161| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_161| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_161| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 1 (select |v_#memory_int_161| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2018-12-19 21:24:32,547 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:32,618 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8370#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:24:32,622 INFO L273 TraceCheckUtils]: 1: Hoare triple {8370#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8374#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:32,625 INFO L273 TraceCheckUtils]: 2: Hoare triple {8374#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:32,626 INFO L273 TraceCheckUtils]: 3: Hoare triple {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:32,627 INFO L273 TraceCheckUtils]: 4: Hoare triple {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2018-12-19 21:24:32,627 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:24:32,627 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:24:32,669 INFO L273 TraceCheckUtils]: 4: Hoare triple {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2018-12-19 21:24:32,670 INFO L273 TraceCheckUtils]: 3: Hoare triple {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:32,671 INFO L273 TraceCheckUtils]: 2: Hoare triple {8392#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:32,673 INFO L273 TraceCheckUtils]: 1: Hoare triple {8396#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8392#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:32,675 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8396#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:32,675 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:24:32,695 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:24:32,696 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:24:32,696 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:24:32,696 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:32,696 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:24:32,696 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:24:32,713 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:24:32,713 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:24:32,713 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:24:32,713 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:24:32,714 INFO L87 Difference]: Start difference. First operand 67 states and 302 transitions. Second operand 8 states. [2018-12-19 21:24:34,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:34,718 INFO L93 Difference]: Finished difference Result 86 states and 334 transitions. [2018-12-19 21:24:34,718 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:24:34,718 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:34,718 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:24:34,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:34,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-19 21:24:34,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:34,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-19 21:24:34,719 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2018-12-19 21:24:34,808 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:24:34,810 INFO L225 Difference]: With dead ends: 86 [2018-12-19 21:24:34,810 INFO L226 Difference]: Without dead ends: 85 [2018-12-19 21:24:34,810 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:24:34,811 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2018-12-19 21:24:36,057 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 69. [2018-12-19 21:24:36,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:24:36,058 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand 69 states. [2018-12-19 21:24:36,058 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 69 states. [2018-12-19 21:24:36,058 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 69 states. [2018-12-19 21:24:36,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:36,060 INFO L93 Difference]: Finished difference Result 85 states and 332 transitions. [2018-12-19 21:24:36,060 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 332 transitions. [2018-12-19 21:24:36,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:36,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:36,060 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 85 states. [2018-12-19 21:24:36,061 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 85 states. [2018-12-19 21:24:36,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:36,062 INFO L93 Difference]: Finished difference Result 85 states and 332 transitions. [2018-12-19 21:24:36,062 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 332 transitions. [2018-12-19 21:24:36,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:36,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:36,063 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:24:36,063 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:24:36,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-12-19 21:24:36,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 314 transitions. [2018-12-19 21:24:36,065 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 314 transitions. Word has length 5 [2018-12-19 21:24:36,065 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:24:36,065 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 314 transitions. [2018-12-19 21:24:36,065 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:24:36,065 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 314 transitions. [2018-12-19 21:24:36,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:24:36,065 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:24:36,066 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:24:36,066 INFO L423 AbstractCegarLoop]: === Iteration 33 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:24:36,066 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:36,066 INFO L82 PathProgramCache]: Analyzing trace with hash 28947050, now seen corresponding path program 2 times [2018-12-19 21:24:36,066 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:24:36,067 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:36,067 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:36,067 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:36,067 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:24:36,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:36,532 WARN L181 SmtUtils]: Spent 262.00 ms on a formula simplification. DAG size of input: 15 DAG size of output: 9 [2018-12-19 21:24:36,662 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8829#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:24:36,663 INFO L273 TraceCheckUtils]: 1: Hoare triple {8829#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8830#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:24:36,664 INFO L273 TraceCheckUtils]: 2: Hoare triple {8830#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:36,664 INFO L273 TraceCheckUtils]: 3: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:36,665 INFO L273 TraceCheckUtils]: 4: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2018-12-19 21:24:36,665 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:24:36,666 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:36,666 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:24:36,666 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:24:36,666 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:24:36,666 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:36,666 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:24:36,675 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:24:36,675 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:24:36,681 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-12-19 21:24:36,681 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:24:36,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:36,684 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:24:36,713 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:24:36,746 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:24:36,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:36,761 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:24:36,780 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:36,781 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:36,782 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:24:36,805 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:36,810 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:36,811 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:36,812 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:24:36,820 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:36,843 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:36,858 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:36,870 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:36,886 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:36,909 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:24:36,910 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-19 21:24:36,921 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:36,921 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_164|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_164| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:36,921 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:37,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,011 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:24:37,017 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:37,053 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:24:37,053 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-19 21:24:37,060 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:37,061 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_165|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_165| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_165| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_165| ULTIMATE.start_main_p5) 0) (= |#memory_int| (store |v_#memory_int_165| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_165| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:24:37,061 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:37,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,134 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,139 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,140 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:37,140 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-19 21:24:37,146 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:37,184 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:24:37,185 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-19 21:24:37,198 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:37,199 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_166|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_166| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_166| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_166| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_166| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (+ (select |v_#memory_int_166| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2018-12-19 21:24:37,199 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:24:37,316 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8835#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:37,318 INFO L273 TraceCheckUtils]: 1: Hoare triple {8835#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8839#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:24:37,321 INFO L273 TraceCheckUtils]: 2: Hoare triple {8839#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:24:37,322 INFO L273 TraceCheckUtils]: 3: Hoare triple {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:24:37,323 INFO L273 TraceCheckUtils]: 4: Hoare triple {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2018-12-19 21:24:37,323 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:24:37,324 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:24:37,361 INFO L273 TraceCheckUtils]: 4: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2018-12-19 21:24:37,362 INFO L273 TraceCheckUtils]: 3: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:37,363 INFO L273 TraceCheckUtils]: 2: Hoare triple {8856#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:37,364 INFO L273 TraceCheckUtils]: 1: Hoare triple {8860#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8856#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:37,367 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8860#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:37,367 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:24:37,387 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:24:37,387 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:24:37,387 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:24:37,387 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:37,387 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:24:37,388 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:24:37,401 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:24:37,401 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:24:37,401 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:24:37,402 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:24:37,402 INFO L87 Difference]: Start difference. First operand 69 states and 314 transitions. Second operand 8 states. [2018-12-19 21:24:40,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:40,367 INFO L93 Difference]: Finished difference Result 110 states and 397 transitions. [2018-12-19 21:24:40,367 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:24:40,368 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:40,368 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:24:40,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:40,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2018-12-19 21:24:40,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:40,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2018-12-19 21:24:40,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 70 transitions. [2018-12-19 21:24:40,467 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:24:40,469 INFO L225 Difference]: With dead ends: 110 [2018-12-19 21:24:40,469 INFO L226 Difference]: Without dead ends: 107 [2018-12-19 21:24:40,469 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=46, Invalid=64, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:24:40,470 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-12-19 21:24:41,323 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 78. [2018-12-19 21:24:41,323 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:24:41,324 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 78 states. [2018-12-19 21:24:41,324 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 78 states. [2018-12-19 21:24:41,324 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 78 states. [2018-12-19 21:24:41,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:41,328 INFO L93 Difference]: Finished difference Result 107 states and 393 transitions. [2018-12-19 21:24:41,328 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 393 transitions. [2018-12-19 21:24:41,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:41,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:41,329 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 107 states. [2018-12-19 21:24:41,329 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 107 states. [2018-12-19 21:24:41,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:41,332 INFO L93 Difference]: Finished difference Result 107 states and 393 transitions. [2018-12-19 21:24:41,332 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 393 transitions. [2018-12-19 21:24:41,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:41,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:41,332 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:24:41,332 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:24:41,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-12-19 21:24:41,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 360 transitions. [2018-12-19 21:24:41,335 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 360 transitions. Word has length 5 [2018-12-19 21:24:41,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:24:41,335 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 360 transitions. [2018-12-19 21:24:41,335 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:24:41,335 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 360 transitions. [2018-12-19 21:24:41,335 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:24:41,335 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:24:41,336 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:24:41,336 INFO L423 AbstractCegarLoop]: === Iteration 34 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:24:41,336 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:41,336 INFO L82 PathProgramCache]: Analyzing trace with hash 28950958, now seen corresponding path program 1 times [2018-12-19 21:24:41,336 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:24:41,337 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:41,337 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:24:41,337 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:41,337 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:24:41,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:41,550 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9383#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:24:41,551 INFO L273 TraceCheckUtils]: 1: Hoare triple {9383#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:24:41,552 INFO L273 TraceCheckUtils]: 2: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:24:41,552 INFO L273 TraceCheckUtils]: 3: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:24:41,552 INFO L273 TraceCheckUtils]: 4: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2018-12-19 21:24:41,553 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:24:41,553 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:41,553 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:24:41,553 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:24:41,553 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [26], [27] [2018-12-19 21:24:41,554 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:24:41,555 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:24:41,572 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:24:41,572 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:24:41,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:41,573 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:24:41,573 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:41,573 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:24:41,581 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:41,581 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:24:41,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:41,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:41,592 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:24:41,612 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:24:41,621 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:24:41,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,635 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:24:41,651 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,653 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,654 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:24:41,671 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,677 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,678 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,679 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:24:41,683 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:41,704 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:41,718 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:41,730 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:41,741 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:41,762 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:24:41,763 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-19 21:24:41,773 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:41,773 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_169|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_169| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:41,774 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:41,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,842 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,844 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,846 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:41,846 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:24:41,850 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:41,883 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:24:41,883 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-19 21:24:42,870 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:42,870 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_170|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_170| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_170| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_170| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_170| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_170| ULTIMATE.start_main_p5)))) [2018-12-19 21:24:42,870 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:24:42,944 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9388#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:42,946 INFO L273 TraceCheckUtils]: 1: Hoare triple {9388#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:24:42,947 INFO L273 TraceCheckUtils]: 2: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:24:42,948 INFO L273 TraceCheckUtils]: 3: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:24:42,949 INFO L273 TraceCheckUtils]: 4: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2018-12-19 21:24:42,950 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:24:42,950 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:24:42,981 INFO L273 TraceCheckUtils]: 4: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2018-12-19 21:24:42,981 INFO L273 TraceCheckUtils]: 3: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:42,982 INFO L273 TraceCheckUtils]: 2: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:42,983 INFO L273 TraceCheckUtils]: 1: Hoare triple {9412#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:42,985 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9412#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:42,985 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:24:43,006 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:24:43,006 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:24:43,006 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:24:43,006 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2018-12-19 21:24:43,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:24:43,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:24:43,022 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:24:43,022 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:24:43,022 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:24:43,022 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:24:43,023 INFO L87 Difference]: Start difference. First operand 78 states and 360 transitions. Second operand 6 states. [2018-12-19 21:24:45,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:45,031 INFO L93 Difference]: Finished difference Result 87 states and 367 transitions. [2018-12-19 21:24:45,031 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:24:45,031 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2018-12-19 21:24:45,031 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:24:45,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:24:45,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2018-12-19 21:24:45,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:24:45,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2018-12-19 21:24:45,032 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2018-12-19 21:24:45,086 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:24:45,088 INFO L225 Difference]: With dead ends: 87 [2018-12-19 21:24:45,088 INFO L226 Difference]: Without dead ends: 86 [2018-12-19 21:24:45,088 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 5 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:24:45,089 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-12-19 21:24:46,801 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 76. [2018-12-19 21:24:46,801 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:24:46,801 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 76 states. [2018-12-19 21:24:46,801 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 76 states. [2018-12-19 21:24:46,802 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 76 states. [2018-12-19 21:24:46,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:46,805 INFO L93 Difference]: Finished difference Result 86 states and 365 transitions. [2018-12-19 21:24:46,805 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 365 transitions. [2018-12-19 21:24:46,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:46,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:46,805 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 86 states. [2018-12-19 21:24:46,806 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 86 states. [2018-12-19 21:24:46,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:46,808 INFO L93 Difference]: Finished difference Result 86 states and 365 transitions. [2018-12-19 21:24:46,808 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 365 transitions. [2018-12-19 21:24:46,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:46,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:46,809 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:24:46,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:24:46,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2018-12-19 21:24:46,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 357 transitions. [2018-12-19 21:24:46,811 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 357 transitions. Word has length 5 [2018-12-19 21:24:46,811 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:24:46,811 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 357 transitions. [2018-12-19 21:24:46,812 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:24:46,812 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 357 transitions. [2018-12-19 21:24:46,812 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:24:46,812 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:24:46,812 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:24:46,812 INFO L423 AbstractCegarLoop]: === Iteration 35 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:24:46,813 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:46,813 INFO L82 PathProgramCache]: Analyzing trace with hash 29052324, now seen corresponding path program 1 times [2018-12-19 21:24:46,813 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:24:46,813 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:46,814 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:46,814 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:46,814 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:24:46,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:47,147 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9866#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:24:47,148 INFO L273 TraceCheckUtils]: 1: Hoare triple {9866#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9867#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:24:47,149 INFO L273 TraceCheckUtils]: 2: Hoare triple {9867#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9868#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:24:47,150 INFO L273 TraceCheckUtils]: 3: Hoare triple {9868#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9869#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:47,151 INFO L273 TraceCheckUtils]: 4: Hoare triple {9869#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2018-12-19 21:24:47,151 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:24:47,151 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:47,152 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:24:47,152 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:24:47,152 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [23] [2018-12-19 21:24:47,153 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:24:47,153 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:24:47,168 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:24:47,168 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:24:47,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:47,168 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:24:47,168 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:47,168 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:24:47,177 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:47,177 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:24:47,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:47,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:47,186 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:24:47,222 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:24:47,234 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,235 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:24:47,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,254 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,255 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:24:47,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,283 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:24:47,314 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,316 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,319 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,320 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:24:47,331 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:47,363 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:47,382 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:47,398 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:47,412 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:47,439 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:24:47,439 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:24:47,448 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:47,449 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_172|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_172| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2018-12-19 21:24:47,449 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:47,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,554 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,555 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,589 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,618 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,667 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,667 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,668 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,668 INFO L303 Elim1Store]: Index analysis took 118 ms [2018-12-19 21:24:47,669 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:24:47,677 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:47,729 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:24:47,729 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:47,749 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:47,749 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_173|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_173| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_173| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2018-12-19 21:24:47,750 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:47,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,860 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,862 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,865 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,867 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,868 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,869 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,870 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,871 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:47,872 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:24:47,873 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:24:47,881 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:47,938 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:24:47,938 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:47,947 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:47,947 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_174|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_174| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_174| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_174| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_174| ULTIMATE.start_main_p3) 1) (= 0 (select |v_#memory_int_174| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_174| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:24:47,948 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:48,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,056 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,061 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,064 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,065 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:48,067 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:24:48,076 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:48,157 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:24:48,157 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:48,180 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:48,181 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_175|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_175| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_175| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_175| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_175| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_175| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_175| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:24:48,181 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:48,228 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9873#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:24:48,230 INFO L273 TraceCheckUtils]: 1: Hoare triple {9873#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9877#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:24:48,233 INFO L273 TraceCheckUtils]: 2: Hoare triple {9877#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:24:48,238 INFO L273 TraceCheckUtils]: 3: Hoare triple {9881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:24:48,239 INFO L273 TraceCheckUtils]: 4: Hoare triple {9885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2018-12-19 21:24:48,239 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:24:48,239 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:24:48,297 INFO L273 TraceCheckUtils]: 4: Hoare triple {9889#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2018-12-19 21:24:48,299 INFO L273 TraceCheckUtils]: 3: Hoare triple {9893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9889#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:48,300 INFO L273 TraceCheckUtils]: 2: Hoare triple {9897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:48,302 INFO L273 TraceCheckUtils]: 1: Hoare triple {9901#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:48,304 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9901#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:48,305 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:24:48,325 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:24:48,325 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:24:48,325 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:24:48,326 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:24:48,326 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:24:48,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:24:48,345 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:24:48,345 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:24:48,345 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:24:48,345 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:24:48,346 INFO L87 Difference]: Start difference. First operand 76 states and 357 transitions. Second operand 10 states. [2018-12-19 21:24:51,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:51,196 INFO L93 Difference]: Finished difference Result 133 states and 461 transitions. [2018-12-19 21:24:51,196 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:24:51,196 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:24:51,196 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:24:51,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:24:51,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2018-12-19 21:24:51,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:24:51,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2018-12-19 21:24:51,198 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2018-12-19 21:24:51,387 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:24:51,391 INFO L225 Difference]: With dead ends: 133 [2018-12-19 21:24:51,391 INFO L226 Difference]: Without dead ends: 132 [2018-12-19 21:24:51,391 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:24:51,391 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2018-12-19 21:24:52,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 75. [2018-12-19 21:24:52,667 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:24:52,667 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand 75 states. [2018-12-19 21:24:52,667 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 75 states. [2018-12-19 21:24:52,667 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 75 states. [2018-12-19 21:24:52,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:52,670 INFO L93 Difference]: Finished difference Result 132 states and 459 transitions. [2018-12-19 21:24:52,670 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 459 transitions. [2018-12-19 21:24:52,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:52,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:52,671 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 132 states. [2018-12-19 21:24:52,671 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 132 states. [2018-12-19 21:24:52,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:52,674 INFO L93 Difference]: Finished difference Result 132 states and 459 transitions. [2018-12-19 21:24:52,674 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 459 transitions. [2018-12-19 21:24:52,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:52,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:52,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:24:52,675 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:24:52,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-12-19 21:24:52,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 351 transitions. [2018-12-19 21:24:52,677 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 351 transitions. Word has length 5 [2018-12-19 21:24:52,677 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:24:52,677 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 351 transitions. [2018-12-19 21:24:52,677 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:24:52,677 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 351 transitions. [2018-12-19 21:24:52,677 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:24:52,678 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:24:52,678 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:24:52,678 INFO L423 AbstractCegarLoop]: === Iteration 36 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:24:52,678 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:52,678 INFO L82 PathProgramCache]: Analyzing trace with hash 29056604, now seen corresponding path program 1 times [2018-12-19 21:24:52,678 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:24:52,679 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:52,679 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:52,679 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:52,679 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:24:52,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:52,790 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10503#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:52,791 INFO L273 TraceCheckUtils]: 1: Hoare triple {10503#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10504#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:52,792 INFO L273 TraceCheckUtils]: 2: Hoare triple {10504#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:24:52,792 INFO L273 TraceCheckUtils]: 3: Hoare triple {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:24:52,793 INFO L273 TraceCheckUtils]: 4: Hoare triple {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2018-12-19 21:24:52,793 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:24:52,793 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:52,793 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:24:52,793 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:24:52,794 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [24], [25] [2018-12-19 21:24:52,794 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:24:52,794 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:24:52,819 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:24:52,819 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:24:52,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:52,820 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:24:52,820 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:52,820 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:24:52,829 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:52,829 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:24:52,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:52,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:52,840 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:24:52,877 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:24:52,888 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:24:52,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:52,901 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:24:52,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:52,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:52,921 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:24:52,941 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:52,945 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:52,946 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:52,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, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:24:52,953 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:52,977 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:52,991 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:53,002 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:53,015 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:53,038 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:24:53,038 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-19 21:24:53,049 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:53,049 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_179|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_179| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:53,050 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:53,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:53,123 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:53,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:53,126 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:53,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:53,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:53,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:53,130 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:24:53,135 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:53,170 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:24:53,171 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-19 21:24:55,187 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:55,187 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_180|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_180| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_180| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_180| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_180| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_180| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:24:55,187 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:55,270 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:55,271 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:55,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:55,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:55,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:55,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:55,287 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:55,287 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:55,288 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:55,289 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 65 [2018-12-19 21:24:55,295 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:55,333 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:24:55,334 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-19 21:24:55,347 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:55,347 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_181|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_181| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_181| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (select |v_#memory_int_181| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_181| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_181| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2018-12-19 21:24:55,347 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:24:55,419 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10509#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:24:55,422 INFO L273 TraceCheckUtils]: 1: Hoare triple {10509#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10513#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:24:55,425 INFO L273 TraceCheckUtils]: 2: Hoare triple {10513#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:24:55,426 INFO L273 TraceCheckUtils]: 3: Hoare triple {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:24:55,426 INFO L273 TraceCheckUtils]: 4: Hoare triple {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2018-12-19 21:24:55,427 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:24:55,427 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:24:55,468 INFO L273 TraceCheckUtils]: 4: Hoare triple {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2018-12-19 21:24:55,468 INFO L273 TraceCheckUtils]: 3: Hoare triple {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:55,469 INFO L273 TraceCheckUtils]: 2: Hoare triple {10531#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:24:55,470 INFO L273 TraceCheckUtils]: 1: Hoare triple {10535#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10531#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:24:55,472 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10535#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:24:55,473 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:24:55,493 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:24:55,493 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:24:55,493 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:24:55,494 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:55,494 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:24:55,494 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:24:55,513 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:24:55,514 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:24:55,514 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:24:55,514 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:24:55,515 INFO L87 Difference]: Start difference. First operand 75 states and 351 transitions. Second operand 8 states. [2018-12-19 21:24:57,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:57,924 INFO L93 Difference]: Finished difference Result 113 states and 411 transitions. [2018-12-19 21:24:57,924 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:24:57,924 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:24:57,924 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:24:57,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:57,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-19 21:24:57,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:24:57,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-19 21:24:57,925 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2018-12-19 21:24:58,017 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:24:58,021 INFO L225 Difference]: With dead ends: 113 [2018-12-19 21:24:58,021 INFO L226 Difference]: Without dead ends: 112 [2018-12-19 21:24:58,021 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:24:58,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2018-12-19 21:24:58,919 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 77. [2018-12-19 21:24:58,919 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:24:58,919 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 77 states. [2018-12-19 21:24:58,919 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 77 states. [2018-12-19 21:24:58,920 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 77 states. [2018-12-19 21:24:58,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:58,923 INFO L93 Difference]: Finished difference Result 112 states and 409 transitions. [2018-12-19 21:24:58,923 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 409 transitions. [2018-12-19 21:24:58,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:58,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:58,924 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 112 states. [2018-12-19 21:24:58,924 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 112 states. [2018-12-19 21:24:58,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:24:58,926 INFO L93 Difference]: Finished difference Result 112 states and 409 transitions. [2018-12-19 21:24:58,926 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 409 transitions. [2018-12-19 21:24:58,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:24:58,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:24:58,927 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:24:58,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:24:58,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-19 21:24:58,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 363 transitions. [2018-12-19 21:24:58,929 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 363 transitions. Word has length 5 [2018-12-19 21:24:58,929 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:24:58,929 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 363 transitions. [2018-12-19 21:24:58,929 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:24:58,930 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 363 transitions. [2018-12-19 21:24:58,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:24:58,930 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:24:58,930 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1] [2018-12-19 21:24:58,930 INFO L423 AbstractCegarLoop]: === Iteration 37 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:24:58,931 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:24:58,931 INFO L82 PathProgramCache]: Analyzing trace with hash 904669396, now seen corresponding path program 2 times [2018-12-19 21:24:58,931 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:24:58,932 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:58,932 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:24:58,932 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:24:58,932 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:24:58,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:59,130 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:24:59,132 INFO L273 TraceCheckUtils]: 1: Hoare triple {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:24:59,133 INFO L273 TraceCheckUtils]: 2: Hoare triple {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11074#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:24:59,134 INFO L273 TraceCheckUtils]: 3: Hoare triple {11074#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11075#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:24:59,135 INFO L273 TraceCheckUtils]: 4: Hoare triple {11075#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11076#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:24:59,136 INFO L273 TraceCheckUtils]: 5: Hoare triple {11076#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2018-12-19 21:24:59,136 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:24:59,136 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:59,137 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:24:59,137 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:24:59,137 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:24:59,137 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:24:59,137 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:24:59,146 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:24:59,146 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:24:59,152 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:24:59,152 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:24:59,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:24:59,157 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:24:59,193 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:24:59,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,224 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:24:59,241 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,244 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:24:59,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,301 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,303 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,304 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:24:59,347 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,349 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,352 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,355 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,356 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:24:59,360 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:59,402 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:59,424 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:59,456 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:59,468 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:24:59,491 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:24:59,492 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:24:59,514 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:59,514 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_184|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_184| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:59,515 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:24:59,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,630 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,631 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,635 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,636 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,637 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,639 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,640 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:24:59,647 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:59,693 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:24:59,694 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:24:59,707 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:24:59,707 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_185|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_185| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_185| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_185| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:24:59,707 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:24:59,787 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,788 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,790 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,791 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,792 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,793 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,795 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,796 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,797 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,798 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,799 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,801 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,802 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:24:59,803 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 78 [2018-12-19 21:24:59,809 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:24:59,860 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:24:59,860 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2018-12-19 21:25:01,867 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:01,868 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_186|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_186| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_186| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_186| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_186| ULTIMATE.start_main_p3) 0) (= (+ .cse0 1) 0) (= (store |v_#memory_int_186| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_186| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:01,868 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:01,947 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,949 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,950 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,951 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,952 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,953 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,955 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,956 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,957 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,958 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,959 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,961 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,962 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:01,963 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:25:01,968 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:02,024 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:25:02,024 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:25:02,032 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:02,033 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_187|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_187| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_187| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_187| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_187| ULTIMATE.start_main_p4) 2) 0) (= (select |v_#memory_int_187| ULTIMATE.start_main_p3) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_187| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:02,033 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2018-12-19 21:25:02,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,139 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,141 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,142 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,143 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,144 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,148 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,149 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,152 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,153 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,154 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:02,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 110 [2018-12-19 21:25:02,161 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:02,221 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:25:02,222 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:25:02,245 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:02,245 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_188|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_188| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_188| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_188| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_188| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |v_#memory_int_188| ULTIMATE.start_main_p4) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_188| ULTIMATE.start_main_p5)))) [2018-12-19 21:25:02,245 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2018-12-19 21:25:02,288 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11080#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:02,291 INFO L273 TraceCheckUtils]: 1: Hoare triple {11080#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11084#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:02,294 INFO L273 TraceCheckUtils]: 2: Hoare triple {11084#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11088#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:02,297 INFO L273 TraceCheckUtils]: 3: Hoare triple {11088#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11092#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:02,303 INFO L273 TraceCheckUtils]: 4: Hoare triple {11092#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11096#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} is VALID [2018-12-19 21:25:02,303 INFO L273 TraceCheckUtils]: 5: Hoare triple {11096#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2018-12-19 21:25:02,304 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:25:02,304 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:25:02,399 INFO L273 TraceCheckUtils]: 5: Hoare triple {11100#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2018-12-19 21:25:02,400 INFO L273 TraceCheckUtils]: 4: Hoare triple {11104#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11100#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:02,401 INFO L273 TraceCheckUtils]: 3: Hoare triple {11108#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11104#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:02,403 INFO L273 TraceCheckUtils]: 2: Hoare triple {11112#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11108#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:02,405 INFO L273 TraceCheckUtils]: 1: Hoare triple {11116#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11112#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:02,407 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11116#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:02,408 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:25:02,428 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:25:02,428 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2018-12-19 21:25:02,428 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:25:02,428 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2018-12-19 21:25:02,428 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:25:02,428 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-12-19 21:25:02,454 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:25:02,454 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-12-19 21:25:02,455 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-12-19 21:25:02,455 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:25:02,455 INFO L87 Difference]: Start difference. First operand 77 states and 363 transitions. Second operand 11 states. [2018-12-19 21:25:07,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:07,678 INFO L93 Difference]: Finished difference Result 136 states and 478 transitions. [2018-12-19 21:25:07,678 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:25:07,678 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2018-12-19 21:25:07,678 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:25:07,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-19 21:25:07,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 92 transitions. [2018-12-19 21:25:07,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-19 21:25:07,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 92 transitions. [2018-12-19 21:25:07,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 92 transitions. [2018-12-19 21:25:07,922 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:25:07,925 INFO L225 Difference]: With dead ends: 136 [2018-12-19 21:25:07,926 INFO L226 Difference]: Without dead ends: 131 [2018-12-19 21:25:07,926 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 87 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=107, Invalid=199, Unknown=0, NotChecked=0, Total=306 [2018-12-19 21:25:07,926 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2018-12-19 21:25:08,881 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 77. [2018-12-19 21:25:08,881 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:25:08,882 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand 77 states. [2018-12-19 21:25:08,882 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 77 states. [2018-12-19 21:25:08,882 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 77 states. [2018-12-19 21:25:08,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:08,887 INFO L93 Difference]: Finished difference Result 131 states and 472 transitions. [2018-12-19 21:25:08,887 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 472 transitions. [2018-12-19 21:25:08,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:08,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:08,888 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 131 states. [2018-12-19 21:25:08,888 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 131 states. [2018-12-19 21:25:08,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:08,891 INFO L93 Difference]: Finished difference Result 131 states and 472 transitions. [2018-12-19 21:25:08,891 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 472 transitions. [2018-12-19 21:25:08,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:08,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:08,892 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:25:08,892 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:25:08,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-19 21:25:08,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2018-12-19 21:25:08,894 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2018-12-19 21:25:08,895 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:25:08,895 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2018-12-19 21:25:08,895 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-12-19 21:25:08,895 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2018-12-19 21:25:08,895 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:25:08,895 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:25:08,895 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:25:08,896 INFO L423 AbstractCegarLoop]: === Iteration 38 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:25:08,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:08,896 INFO L82 PathProgramCache]: Analyzing trace with hash 904729414, now seen corresponding path program 1 times [2018-12-19 21:25:08,896 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:25:08,897 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:08,897 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:25:08,897 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:08,897 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:25:08,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:09,118 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11726#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:25:09,120 INFO L273 TraceCheckUtils]: 1: Hoare triple {11726#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11727#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:25:09,120 INFO L273 TraceCheckUtils]: 2: Hoare triple {11727#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11728#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:25:09,121 INFO L273 TraceCheckUtils]: 3: Hoare triple {11728#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:09,121 INFO L273 TraceCheckUtils]: 4: Hoare triple {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:09,122 INFO L273 TraceCheckUtils]: 5: Hoare triple {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2018-12-19 21:25:09,122 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:25:09,122 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:09,122 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:25:09,122 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:25:09,122 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [20], [24], [25] [2018-12-19 21:25:09,123 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:25:09,124 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:25:09,135 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:25:09,136 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:25:09,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:09,136 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:25:09,136 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:09,136 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:25:09,145 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:25:09,145 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:25:09,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:09,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:09,154 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:25:09,187 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:25:09,195 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,196 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:25:09,213 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,215 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,216 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:25:09,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,233 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,235 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,235 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:25:09,346 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,348 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,350 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,351 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,351 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:25:09,358 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:09,395 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:09,427 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:09,447 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:09,465 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:09,489 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:25:09,489 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:25:09,498 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:09,498 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_193|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store (store (store (store (store |v_#memory_int_193| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:09,499 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:25:09,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,625 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,631 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,632 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:09,634 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:25:09,638 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:09,805 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:25:09,805 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:25:11,812 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:11,812 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_194|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_194| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_194| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_194| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_194| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_194| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_194| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:11,812 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:11,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,887 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,893 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,894 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,897 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,898 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:11,901 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:25:11,906 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:11,957 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:25:11,958 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:25:11,993 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:11,993 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_195|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_195| ULTIMATE.start_main_p5))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_195| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_195| ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_195| ULTIMATE.start_main_p4) 1)) (= |#memory_int| (store |v_#memory_int_195| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_195| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:11,993 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:12,063 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,064 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,077 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,078 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,079 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,080 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:12,081 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:25:12,082 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 94 [2018-12-19 21:25:12,087 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:12,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:25:12,143 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:25:12,178 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:12,178 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_196|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_196| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_196| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_196| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= 0 (select |v_#memory_int_196| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_196| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_196| ULTIMATE.start_main_p1 (+ .cse0 1))))) [2018-12-19 21:25:12,179 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:25:12,237 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11733#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:12,240 INFO L273 TraceCheckUtils]: 1: Hoare triple {11733#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11737#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-19 21:25:12,244 INFO L273 TraceCheckUtils]: 2: Hoare triple {11737#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11741#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:12,247 INFO L273 TraceCheckUtils]: 3: Hoare triple {11741#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:25:12,248 INFO L273 TraceCheckUtils]: 4: Hoare triple {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:25:12,249 INFO L273 TraceCheckUtils]: 5: Hoare triple {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2018-12-19 21:25:12,250 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:25:12,250 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:25:12,325 INFO L273 TraceCheckUtils]: 5: Hoare triple {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2018-12-19 21:25:12,326 INFO L273 TraceCheckUtils]: 4: Hoare triple {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:12,327 INFO L273 TraceCheckUtils]: 3: Hoare triple {11759#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:12,329 INFO L273 TraceCheckUtils]: 2: Hoare triple {11763#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11759#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:12,331 INFO L273 TraceCheckUtils]: 1: Hoare triple {11767#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11763#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:12,333 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11767#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:12,334 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:25:12,354 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:25:12,354 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:25:12,354 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:25:12,354 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:25:12,354 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:25:12,354 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:25:12,377 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:25:12,377 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:25:12,377 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:25:12,377 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:25:12,378 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 10 states. [2018-12-19 21:25:14,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:14,883 INFO L93 Difference]: Finished difference Result 106 states and 409 transitions. [2018-12-19 21:25:14,883 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:25:14,883 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:25:14,884 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:25:14,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:25:14,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2018-12-19 21:25:14,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:25:14,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2018-12-19 21:25:14,884 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 63 transitions. [2018-12-19 21:25:14,991 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:25:14,994 INFO L225 Difference]: With dead ends: 106 [2018-12-19 21:25:14,994 INFO L226 Difference]: Without dead ends: 105 [2018-12-19 21:25:14,994 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:25:14,994 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2018-12-19 21:25:16,921 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 77. [2018-12-19 21:25:16,921 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:25:16,921 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 77 states. [2018-12-19 21:25:16,921 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 77 states. [2018-12-19 21:25:16,921 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 77 states. [2018-12-19 21:25:16,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:16,924 INFO L93 Difference]: Finished difference Result 105 states and 407 transitions. [2018-12-19 21:25:16,924 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 407 transitions. [2018-12-19 21:25:16,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:16,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:16,924 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 105 states. [2018-12-19 21:25:16,925 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 105 states. [2018-12-19 21:25:16,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:16,927 INFO L93 Difference]: Finished difference Result 105 states and 407 transitions. [2018-12-19 21:25:16,927 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 407 transitions. [2018-12-19 21:25:16,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:16,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:16,927 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:25:16,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:25:16,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-19 21:25:16,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2018-12-19 21:25:16,929 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2018-12-19 21:25:16,929 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:25:16,929 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2018-12-19 21:25:16,929 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:25:16,929 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2018-12-19 21:25:16,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:25:16,930 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:25:16,930 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:25:16,930 INFO L423 AbstractCegarLoop]: === Iteration 39 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:25:16,930 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:16,930 INFO L82 PathProgramCache]: Analyzing trace with hash 904728978, now seen corresponding path program 1 times [2018-12-19 21:25:16,930 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:25:16,931 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:16,931 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:25:16,931 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:16,931 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:25:16,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:17,156 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12289#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:25:17,158 INFO L273 TraceCheckUtils]: 1: Hoare triple {12289#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12290#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:25:17,158 INFO L273 TraceCheckUtils]: 2: Hoare triple {12290#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12291#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:25:17,159 INFO L273 TraceCheckUtils]: 3: Hoare triple {12291#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12292#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:25:17,160 INFO L273 TraceCheckUtils]: 4: Hoare triple {12292#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12293#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:17,160 INFO L273 TraceCheckUtils]: 5: Hoare triple {12293#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2018-12-19 21:25:17,160 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:25:17,160 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:17,161 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:25:17,161 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:25:17,161 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [20], [23] [2018-12-19 21:25:17,162 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:25:17,162 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:25:17,172 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:25:17,172 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-19 21:25:17,172 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:17,172 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:25:17,173 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:17,173 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:25:17,182 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:25:17,182 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:25:17,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:17,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:17,191 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:25:17,210 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:25:17,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,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, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:25:17,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,225 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,226 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:25:17,238 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,240 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,241 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,242 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:25:17,259 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,261 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,262 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,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, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:25:17,268 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:17,296 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:17,312 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:17,323 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:17,334 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:17,356 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:25:17,356 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:25:17,365 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:17,365 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_200|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_200| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:17,365 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:25:17,416 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,418 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,420 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,422 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,423 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,424 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,425 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,427 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,428 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,429 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:17,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, 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:25:17,433 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:17,478 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:25:17,479 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:25:18,699 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:18,699 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_201|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_201| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_201| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_201| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_201| ULTIMATE.start_main_p1)) (= .cse0 0) (= 0 (select |v_#memory_int_201| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_201| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:18,699 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:18,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,761 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,769 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,773 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,774 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,776 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,777 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:25:18,780 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:18,850 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:25:18,851 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:25:18,908 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:18,908 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_202|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_202| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_202| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_202| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:18,908 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:18,970 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,971 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,972 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,980 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,982 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,983 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,985 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,986 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:18,987 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:25:18,988 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 94 [2018-12-19 21:25:18,992 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:19,046 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:25:19,046 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:25:19,053 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:19,053 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_203|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_203| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_203| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_203| ULTIMATE.start_main_p3)) (= .cse0 0) (= 0 (select |v_#memory_int_203| ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_203| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 1 (select |v_#memory_int_203| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:19,054 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:19,113 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,114 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,115 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,116 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,120 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,121 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,123 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,126 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,126 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:25:19,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:19,128 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 93 [2018-12-19 21:25:19,132 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:19,184 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:25:19,185 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:25:19,208 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:19,208 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_204|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_204| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_204| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_204| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_204| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_204| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |v_#memory_int_204| ULTIMATE.start_main_p4) 1) 0))) [2018-12-19 21:25:19,208 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:19,274 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12297#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:19,276 INFO L273 TraceCheckUtils]: 1: Hoare triple {12297#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12301#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-19 21:25:19,279 INFO L273 TraceCheckUtils]: 2: Hoare triple {12301#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:19,282 INFO L273 TraceCheckUtils]: 3: Hoare triple {12305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12309#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:19,288 INFO L273 TraceCheckUtils]: 4: Hoare triple {12309#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:25:19,289 INFO L273 TraceCheckUtils]: 5: Hoare triple {12313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2018-12-19 21:25:19,289 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:25:19,289 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:25:19,379 INFO L273 TraceCheckUtils]: 5: Hoare triple {12317#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2018-12-19 21:25:19,380 INFO L273 TraceCheckUtils]: 4: Hoare triple {12321#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12317#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:19,381 INFO L273 TraceCheckUtils]: 3: Hoare triple {12325#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12321#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:19,383 INFO L273 TraceCheckUtils]: 2: Hoare triple {12329#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12325#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:19,385 INFO L273 TraceCheckUtils]: 1: Hoare triple {12333#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12329#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:19,387 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12333#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:19,388 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:25:19,408 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:25:19,408 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-19 21:25:19,408 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:25:19,409 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:25:19,409 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:25:19,409 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:25:19,432 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:25:19,433 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:25:19,433 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:25:19,433 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:25:19,433 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 12 states. [2018-12-19 21:25:22,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:22,613 INFO L93 Difference]: Finished difference Result 131 states and 463 transitions. [2018-12-19 21:25:22,613 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:25:22,613 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:25:22,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:25:22,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:25:22,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-19 21:25:22,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:25:22,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-19 21:25:22,614 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2018-12-19 21:25:22,822 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:25:22,825 INFO L225 Difference]: With dead ends: 131 [2018-12-19 21:25:22,826 INFO L226 Difference]: Without dead ends: 130 [2018-12-19 21:25:22,826 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:25:22,826 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2018-12-19 21:25:24,293 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 77. [2018-12-19 21:25:24,293 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:25:24,293 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 77 states. [2018-12-19 21:25:24,293 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 77 states. [2018-12-19 21:25:24,293 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 77 states. [2018-12-19 21:25:24,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:24,297 INFO L93 Difference]: Finished difference Result 130 states and 461 transitions. [2018-12-19 21:25:24,297 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 461 transitions. [2018-12-19 21:25:24,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:24,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:24,297 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 130 states. [2018-12-19 21:25:24,297 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 130 states. [2018-12-19 21:25:24,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:24,300 INFO L93 Difference]: Finished difference Result 130 states and 461 transitions. [2018-12-19 21:25:24,300 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 461 transitions. [2018-12-19 21:25:24,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:24,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:24,300 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:25:24,300 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:25:24,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-19 21:25:24,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2018-12-19 21:25:24,302 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2018-12-19 21:25:24,302 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:25:24,302 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2018-12-19 21:25:24,302 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:25:24,302 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2018-12-19 21:25:24,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:25:24,303 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:25:24,303 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:25:24,303 INFO L423 AbstractCegarLoop]: === Iteration 40 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:25:24,303 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:24,303 INFO L82 PathProgramCache]: Analyzing trace with hash 904746776, now seen corresponding path program 1 times [2018-12-19 21:25:24,303 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:25:24,304 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:24,304 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:25:24,304 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:24,304 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:25:24,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:24,503 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12936#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:25:24,505 INFO L273 TraceCheckUtils]: 1: Hoare triple {12936#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12937#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:25:24,505 INFO L273 TraceCheckUtils]: 2: Hoare triple {12937#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:25:24,506 INFO L273 TraceCheckUtils]: 3: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:25:24,506 INFO L273 TraceCheckUtils]: 4: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:25:24,520 INFO L273 TraceCheckUtils]: 5: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2018-12-19 21:25:24,520 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:25:24,520 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:24,520 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:25:24,521 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:25:24,521 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [26], [27] [2018-12-19 21:25:24,521 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:25:24,521 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:25:24,530 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:25:24,530 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:25:24,531 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:24,531 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:25:24,531 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:24,531 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:25:24,559 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:25:24,560 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:25:24,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:24,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:24,569 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:25:24,587 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:25:24,594 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:25:24,613 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-19 21:25:24,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:24,630 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-12-19 21:25:24,642 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:24,650 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:24,650 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2018-12-19 21:25:24,653 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:24,668 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:24,679 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:24,690 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:24,700 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:24,723 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:25:24,723 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:25, output treesize:32 [2018-12-19 21:25:24,728 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:24,728 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_209|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_209| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:25:24,728 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:25:24,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:24,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:24,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:24,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:24,844 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 28 [2018-12-19 21:25:24,850 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:24,872 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:25:24,872 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2018-12-19 21:25:26,952 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:26,952 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_210|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_210| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (select |v_#memory_int_210| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_210| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_210| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-19 21:25:26,952 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:25:26,997 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:26,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:26,999 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:27,000 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:27,001 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:27,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:27,003 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 42 [2018-12-19 21:25:27,005 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:27,025 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:25:27,026 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2018-12-19 21:25:27,048 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:27,048 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_211|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_211| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_211| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_211| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_211| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0))) [2018-12-19 21:25:27,048 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:25:27,090 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12942#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:25:27,092 INFO L273 TraceCheckUtils]: 1: Hoare triple {12942#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12946#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:25:27,094 INFO L273 TraceCheckUtils]: 2: Hoare triple {12946#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:25:27,097 INFO L273 TraceCheckUtils]: 3: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:25:27,098 INFO L273 TraceCheckUtils]: 4: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:25:27,098 INFO L273 TraceCheckUtils]: 5: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2018-12-19 21:25:27,099 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:25:27,099 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:25:27,138 INFO L273 TraceCheckUtils]: 5: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2018-12-19 21:25:27,139 INFO L273 TraceCheckUtils]: 4: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:27,139 INFO L273 TraceCheckUtils]: 3: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:27,140 INFO L273 TraceCheckUtils]: 2: Hoare triple {12970#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:27,142 INFO L273 TraceCheckUtils]: 1: Hoare triple {12974#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12970#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:27,144 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12974#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:27,144 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:25:27,164 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:25:27,165 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:25:27,165 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:25:27,165 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:25:27,165 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:25:27,165 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:25:27,181 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:25:27,181 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:25:27,182 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:25:27,182 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:25:27,182 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 8 states. [2018-12-19 21:25:28,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:28,695 INFO L93 Difference]: Finished difference Result 93 states and 382 transitions. [2018-12-19 21:25:28,695 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:25:28,695 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:25:28,696 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:25:28,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:25:28,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-12-19 21:25:28,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:25:28,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-12-19 21:25:28,697 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 49 transitions. [2018-12-19 21:25:28,759 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:25:28,761 INFO L225 Difference]: With dead ends: 93 [2018-12-19 21:25:28,762 INFO L226 Difference]: Without dead ends: 92 [2018-12-19 21:25:28,762 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:25:28,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2018-12-19 21:25:30,208 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 77. [2018-12-19 21:25:30,208 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:25:30,208 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 77 states. [2018-12-19 21:25:30,208 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 77 states. [2018-12-19 21:25:30,208 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 77 states. [2018-12-19 21:25:30,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:30,211 INFO L93 Difference]: Finished difference Result 92 states and 380 transitions. [2018-12-19 21:25:30,211 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 380 transitions. [2018-12-19 21:25:30,212 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:30,212 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:30,212 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 92 states. [2018-12-19 21:25:30,212 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 92 states. [2018-12-19 21:25:30,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:30,214 INFO L93 Difference]: Finished difference Result 92 states and 380 transitions. [2018-12-19 21:25:30,214 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 380 transitions. [2018-12-19 21:25:30,214 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:30,214 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:30,214 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:25:30,214 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:25:30,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-19 21:25:30,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2018-12-19 21:25:30,217 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2018-12-19 21:25:30,217 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:25:30,217 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2018-12-19 21:25:30,217 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:25:30,217 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2018-12-19 21:25:30,218 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:25:30,218 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:25:30,218 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:25:30,218 INFO L423 AbstractCegarLoop]: === Iteration 41 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:25:30,218 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:30,218 INFO L82 PathProgramCache]: Analyzing trace with hash 904732946, now seen corresponding path program 1 times [2018-12-19 21:25:30,218 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:25:30,219 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:30,219 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:25:30,219 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:30,219 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:25:30,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:30,579 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {13452#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:25:30,580 INFO L273 TraceCheckUtils]: 1: Hoare triple {13452#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:25:30,581 INFO L273 TraceCheckUtils]: 2: Hoare triple {13453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:25:30,582 INFO L273 TraceCheckUtils]: 3: Hoare triple {13454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13455#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:25:30,583 INFO L273 TraceCheckUtils]: 4: Hoare triple {13455#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13456#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:25:30,584 INFO L273 TraceCheckUtils]: 5: Hoare triple {13456#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2018-12-19 21:25:30,585 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:25:30,585 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:30,585 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:25:30,585 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:25:30,585 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [20], [23] [2018-12-19 21:25:30,586 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:25:30,586 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:25:30,613 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:25:30,613 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-19 21:25:30,613 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:30,613 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:25:30,614 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:30,614 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:25:30,625 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:25:30,626 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:25:30,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:30,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:30,633 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:25:30,669 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:25:30,679 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:30,680 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:25:30,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:30,695 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:30,696 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:25:30,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:30,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:30,718 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:30,719 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:25:31,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,064 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,064 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,065 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:25:31,072 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:31,104 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:31,122 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:31,138 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:31,151 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:31,173 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:31,174 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2018-12-19 21:25:31,179 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:31,179 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_214|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_214| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:25:31,179 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:25:31,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,266 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,269 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,270 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,271 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:31,278 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:25:31,285 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:31,331 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:25:31,332 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2018-12-19 21:25:33,342 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:33,342 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_215|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_215| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_215| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_215| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_215| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_215| ULTIMATE.start_main_p3) 0) (= 0 .cse0) (= (select |v_#memory_int_215| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:33,342 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:33,429 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,430 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,432 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,433 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,434 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,435 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,436 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,438 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,440 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,441 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,442 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,443 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,444 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:25:33,452 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:33,504 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:25:33,504 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2018-12-19 21:25:33,517 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:33,517 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_216|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_216| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_216| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_216| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_216| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_216| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_216| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:33,518 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:33,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,611 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,616 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:25:33,617 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,618 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:25:33,626 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:33,681 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:25:33,681 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2018-12-19 21:25:33,699 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:33,699 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_217|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_217| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_217| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_217| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (= (select |v_#memory_int_217| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |v_#memory_int_217| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_217| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:33,699 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:33,783 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,785 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,786 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,787 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,789 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,790 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,791 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,793 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,794 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,795 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,797 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,798 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,799 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,800 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:33,801 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:25:33,802 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 100 [2018-12-19 21:25:33,808 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:33,869 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:25:33,869 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-19 21:25:33,925 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:33,925 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_218|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_218| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_218| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_218| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_218| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (= (select |v_#memory_int_218| ULTIMATE.start_main_p1) 0) (= (+ (select |v_#memory_int_218| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:33,925 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:25:33,992 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {13460#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:33,994 INFO L273 TraceCheckUtils]: 1: Hoare triple {13460#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13464#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:33,996 INFO L273 TraceCheckUtils]: 2: Hoare triple {13464#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13468#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:33,999 INFO L273 TraceCheckUtils]: 3: Hoare triple {13468#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13472#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:25:34,005 INFO L273 TraceCheckUtils]: 4: Hoare triple {13472#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13476#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:25:34,006 INFO L273 TraceCheckUtils]: 5: Hoare triple {13476#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2018-12-19 21:25:34,006 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:25:34,006 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:25:34,139 INFO L273 TraceCheckUtils]: 5: Hoare triple {13480#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2018-12-19 21:25:34,140 INFO L273 TraceCheckUtils]: 4: Hoare triple {13484#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13480#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:34,141 INFO L273 TraceCheckUtils]: 3: Hoare triple {13488#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13484#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:34,143 INFO L273 TraceCheckUtils]: 2: Hoare triple {13492#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13488#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:34,147 INFO L273 TraceCheckUtils]: 1: Hoare triple {13496#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13492#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:34,149 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {13496#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:34,150 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:25:34,170 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:25:34,170 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-19 21:25:34,170 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:25:34,170 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:25:34,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:25:34,170 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:25:34,190 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:25:34,191 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:25:34,191 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:25:34,191 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=178, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:25:34,192 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 12 states. [2018-12-19 21:25:37,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:37,591 INFO L93 Difference]: Finished difference Result 117 states and 435 transitions. [2018-12-19 21:25:37,591 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:25:37,591 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:25:37,592 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:25:37,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:25:37,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-19 21:25:37,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:25:37,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-19 21:25:37,593 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2018-12-19 21:25:37,785 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:25:37,788 INFO L225 Difference]: With dead ends: 117 [2018-12-19 21:25:37,788 INFO L226 Difference]: Without dead ends: 115 [2018-12-19 21:25:37,788 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 103 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=146, Invalid=274, Unknown=0, NotChecked=0, Total=420 [2018-12-19 21:25:37,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-12-19 21:25:39,079 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 74. [2018-12-19 21:25:39,079 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:25:39,079 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 74 states. [2018-12-19 21:25:39,079 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 74 states. [2018-12-19 21:25:39,080 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 74 states. [2018-12-19 21:25:39,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:39,083 INFO L93 Difference]: Finished difference Result 115 states and 431 transitions. [2018-12-19 21:25:39,083 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 431 transitions. [2018-12-19 21:25:39,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:39,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:39,083 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 115 states. [2018-12-19 21:25:39,083 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 115 states. [2018-12-19 21:25:39,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:39,086 INFO L93 Difference]: Finished difference Result 115 states and 431 transitions. [2018-12-19 21:25:39,086 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 431 transitions. [2018-12-19 21:25:39,087 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:39,087 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:39,087 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:25:39,087 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:25:39,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-12-19 21:25:39,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 344 transitions. [2018-12-19 21:25:39,089 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 344 transitions. Word has length 6 [2018-12-19 21:25:39,089 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:25:39,089 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 344 transitions. [2018-12-19 21:25:39,089 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:25:39,089 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 344 transitions. [2018-12-19 21:25:39,090 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:25:39,090 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:25:39,090 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:25:39,090 INFO L423 AbstractCegarLoop]: === Iteration 42 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:25:39,090 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:39,090 INFO L82 PathProgramCache]: Analyzing trace with hash 904737102, now seen corresponding path program 1 times [2018-12-19 21:25:39,090 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:25:39,091 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:39,091 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:25:39,091 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:39,091 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:25:39,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:39,305 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14048#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:25:39,306 INFO L273 TraceCheckUtils]: 1: Hoare triple {14048#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14049#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:25:39,307 INFO L273 TraceCheckUtils]: 2: Hoare triple {14049#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14050#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:25:39,308 INFO L273 TraceCheckUtils]: 3: Hoare triple {14050#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:39,308 INFO L273 TraceCheckUtils]: 4: Hoare triple {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:39,308 INFO L273 TraceCheckUtils]: 5: Hoare triple {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2018-12-19 21:25:39,309 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:25:39,309 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:39,309 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:25:39,309 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:25:39,309 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [20], [24], [25] [2018-12-19 21:25:39,311 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:25:39,311 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:25:39,318 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:25:39,318 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:25:39,318 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:39,318 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:25:39,318 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:39,319 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:25:39,329 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:25:39,329 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:25:39,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:39,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:39,337 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:25:39,357 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:25:39,367 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:25:39,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,381 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:25:39,399 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,400 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,401 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:25:39,421 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,425 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,427 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,427 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:25:39,433 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:39,456 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:39,471 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:39,483 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:39,496 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:39,516 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:25:39,516 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2018-12-19 21:25:39,522 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:39,522 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_223|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_223| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:25:39,523 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:25:39,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,602 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:39,609 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:25:39,614 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:39,646 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:25:39,646 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2018-12-19 21:25:41,655 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:41,656 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_224|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_224| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_224| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= (select |v_#memory_int_224| ULTIMATE.start_main_p5) 0) (= |#memory_int| (store |v_#memory_int_224| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_224| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:25:41,656 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:25:41,723 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,725 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,726 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,727 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,729 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,730 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,731 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,733 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,734 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2018-12-19 21:25:41,738 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:41,773 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:25:41,773 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:32 [2018-12-19 21:25:41,810 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:41,810 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_225|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_225| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_225| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_225| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_225| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_225| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0))) [2018-12-19 21:25:41,810 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:25:41,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,887 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,888 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,892 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,893 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,894 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:41,895 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:25:41,896 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 77 [2018-12-19 21:25:41,901 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:41,940 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:25:41,941 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-19 21:25:41,952 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:41,953 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_226|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_226| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_226| ULTIMATE.start_main_p5) 1) (= .cse0 0) (= (select |v_#memory_int_226| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_226| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_226| ULTIMATE.start_main_p4) 1)))) [2018-12-19 21:25:41,953 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:25:42,012 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14055#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:25:42,014 INFO L273 TraceCheckUtils]: 1: Hoare triple {14055#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:42,015 INFO L273 TraceCheckUtils]: 2: Hoare triple {14059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14063#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:42,017 INFO L273 TraceCheckUtils]: 3: Hoare triple {14063#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:25:42,018 INFO L273 TraceCheckUtils]: 4: Hoare triple {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:25:42,019 INFO L273 TraceCheckUtils]: 5: Hoare triple {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2018-12-19 21:25:42,020 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:25:42,020 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:25:42,099 INFO L273 TraceCheckUtils]: 5: Hoare triple {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2018-12-19 21:25:42,100 INFO L273 TraceCheckUtils]: 4: Hoare triple {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:42,101 INFO L273 TraceCheckUtils]: 3: Hoare triple {14081#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:42,102 INFO L273 TraceCheckUtils]: 2: Hoare triple {14085#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14081#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:42,105 INFO L273 TraceCheckUtils]: 1: Hoare triple {14089#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14085#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:42,107 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14089#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:25:42,108 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:25:42,128 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:25:42,128 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:25:42,129 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:25:42,129 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:25:42,129 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:25:42,129 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:25:42,172 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:25:42,172 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:25:42,173 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:25:42,173 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:25:42,173 INFO L87 Difference]: Start difference. First operand 74 states and 344 transitions. Second operand 10 states. [2018-12-19 21:25:44,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:44,654 INFO L93 Difference]: Finished difference Result 99 states and 372 transitions. [2018-12-19 21:25:44,654 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:25:44,654 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:25:44,654 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:25:44,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:25:44,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 62 transitions. [2018-12-19 21:25:44,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:25:44,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 62 transitions. [2018-12-19 21:25:44,655 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 62 transitions. [2018-12-19 21:25:44,756 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:25:44,758 INFO L225 Difference]: With dead ends: 99 [2018-12-19 21:25:44,758 INFO L226 Difference]: Without dead ends: 98 [2018-12-19 21:25:44,759 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:25:44,759 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-12-19 21:25:45,998 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 73. [2018-12-19 21:25:45,999 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:25:45,999 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand 73 states. [2018-12-19 21:25:45,999 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 73 states. [2018-12-19 21:25:45,999 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 73 states. [2018-12-19 21:25:46,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:46,002 INFO L93 Difference]: Finished difference Result 98 states and 370 transitions. [2018-12-19 21:25:46,002 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 370 transitions. [2018-12-19 21:25:46,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:46,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:46,002 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 98 states. [2018-12-19 21:25:46,002 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 98 states. [2018-12-19 21:25:46,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:46,004 INFO L93 Difference]: Finished difference Result 98 states and 370 transitions. [2018-12-19 21:25:46,004 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 370 transitions. [2018-12-19 21:25:46,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:46,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:46,005 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:25:46,005 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:25:46,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2018-12-19 21:25:46,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 338 transitions. [2018-12-19 21:25:46,006 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 338 transitions. Word has length 6 [2018-12-19 21:25:46,006 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:25:46,006 INFO L480 AbstractCegarLoop]: Abstraction has 73 states and 338 transitions. [2018-12-19 21:25:46,007 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:25:46,007 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 338 transitions. [2018-12-19 21:25:46,007 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:25:46,007 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:25:46,007 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1] [2018-12-19 21:25:46,007 INFO L423 AbstractCegarLoop]: === Iteration 43 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:25:46,007 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:46,007 INFO L82 PathProgramCache]: Analyzing trace with hash 904323436, now seen corresponding path program 3 times [2018-12-19 21:25:46,007 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:25:46,008 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:46,008 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:25:46,008 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:46,008 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:25:46,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:46,280 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:25:46,281 INFO L273 TraceCheckUtils]: 1: Hoare triple {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:25:46,282 INFO L273 TraceCheckUtils]: 2: Hoare triple {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14577#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:25:46,283 INFO L273 TraceCheckUtils]: 3: Hoare triple {14577#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14578#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:25:46,284 INFO L273 TraceCheckUtils]: 4: Hoare triple {14578#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14579#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:46,285 INFO L273 TraceCheckUtils]: 5: Hoare triple {14579#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2018-12-19 21:25:46,285 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:25:46,286 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:46,286 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:25:46,286 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:25:46,286 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:25:46,286 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:46,286 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:25:46,294 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-12-19 21:25:46,295 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2018-12-19 21:25:46,299 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-12-19 21:25:46,299 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:25:46,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:46,303 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:25:46,331 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:25:46,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,340 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:25:46,353 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,354 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,355 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:25:46,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,375 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,377 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:25:46,405 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,408 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,410 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:25:46,416 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:46,447 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:46,464 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:46,479 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:46,492 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:46,516 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:25:46,516 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:25:46,525 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:46,526 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_230|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_230| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:46,526 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:25:46,598 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,599 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,602 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,613 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:25:46,618 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:46,665 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:25:46,666 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:25:46,675 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:46,676 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_231|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_231| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_231| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_231| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_231| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_231| ULTIMATE.start_main_p1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_231| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:46,676 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:46,750 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,752 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,758 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,758 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,765 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:25:46,770 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:46,824 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:25:46,824 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2018-12-19 21:25:46,840 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:46,840 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_232|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_232| ULTIMATE.start_main_p1))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_232| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_232| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_232| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_232| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_232| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:46,840 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:46,912 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,915 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,926 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,927 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,928 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,929 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,931 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,932 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:46,933 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 98 [2018-12-19 21:25:46,938 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:47,000 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:25:47,000 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2018-12-19 21:25:47,010 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:47,010 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_233|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_233| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_233| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_233| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_233| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_233| ULTIMATE.start_main_p2) 0) (= 0 (+ .cse0 1)) (= 1 (select |v_#memory_int_233| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:47,010 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:47,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,105 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,106 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,107 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,108 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,110 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,111 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,112 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,113 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,115 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,116 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,117 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,120 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,121 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:47,122 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 110 [2018-12-19 21:25:47,129 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:47,192 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:25:47,193 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:25:47,209 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:47,210 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_234|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_234| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_234| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_234| ULTIMATE.start_main_p4) 2)) (= .cse0 0) (= (store |v_#memory_int_234| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_234| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_234| ULTIMATE.start_main_p1)))) [2018-12-19 21:25:47,210 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2018-12-19 21:25:47,261 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14583#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:47,263 INFO L273 TraceCheckUtils]: 1: Hoare triple {14583#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14587#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:47,266 INFO L273 TraceCheckUtils]: 2: Hoare triple {14587#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14591#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:47,270 INFO L273 TraceCheckUtils]: 3: Hoare triple {14591#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14595#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:25:47,277 INFO L273 TraceCheckUtils]: 4: Hoare triple {14595#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14599#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} is VALID [2018-12-19 21:25:47,278 INFO L273 TraceCheckUtils]: 5: Hoare triple {14599#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2018-12-19 21:25:47,279 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:25:47,279 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:25:47,382 INFO L273 TraceCheckUtils]: 5: Hoare triple {14603#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2018-12-19 21:25:47,383 INFO L273 TraceCheckUtils]: 4: Hoare triple {14607#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14603#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:47,385 INFO L273 TraceCheckUtils]: 3: Hoare triple {14611#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14607#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:47,387 INFO L273 TraceCheckUtils]: 2: Hoare triple {14615#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14611#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:47,389 INFO L273 TraceCheckUtils]: 1: Hoare triple {14619#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14615#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:47,391 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14619#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:25:47,392 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:25:47,412 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:25:47,412 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2018-12-19 21:25:47,412 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:25:47,412 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2018-12-19 21:25:47,412 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:25:47,412 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-12-19 21:25:47,440 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:25:47,440 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-12-19 21:25:47,440 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-12-19 21:25:47,441 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:25:47,441 INFO L87 Difference]: Start difference. First operand 73 states and 338 transitions. Second operand 11 states. [2018-12-19 21:25:52,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:52,034 INFO L93 Difference]: Finished difference Result 132 states and 470 transitions. [2018-12-19 21:25:52,034 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:25:52,034 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2018-12-19 21:25:52,035 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:25:52,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-19 21:25:52,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-19 21:25:52,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-19 21:25:52,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-19 21:25:52,036 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2018-12-19 21:25:52,240 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:25:52,242 INFO L225 Difference]: With dead ends: 132 [2018-12-19 21:25:52,243 INFO L226 Difference]: Without dead ends: 130 [2018-12-19 21:25:52,243 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=110, Invalid=196, Unknown=0, NotChecked=0, Total=306 [2018-12-19 21:25:52,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2018-12-19 21:25:53,698 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 74. [2018-12-19 21:25:53,698 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:25:53,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 74 states. [2018-12-19 21:25:53,699 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 74 states. [2018-12-19 21:25:53,699 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 74 states. [2018-12-19 21:25:53,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:53,704 INFO L93 Difference]: Finished difference Result 130 states and 465 transitions. [2018-12-19 21:25:53,704 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 465 transitions. [2018-12-19 21:25:53,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:53,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:53,704 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 130 states. [2018-12-19 21:25:53,705 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 130 states. [2018-12-19 21:25:53,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:25:53,709 INFO L93 Difference]: Finished difference Result 130 states and 465 transitions. [2018-12-19 21:25:53,709 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 465 transitions. [2018-12-19 21:25:53,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:25:53,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:25:53,709 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:25:53,709 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:25:53,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-12-19 21:25:53,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 334 transitions. [2018-12-19 21:25:53,712 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 334 transitions. Word has length 6 [2018-12-19 21:25:53,712 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:25:53,712 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 334 transitions. [2018-12-19 21:25:53,712 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-12-19 21:25:53,712 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 334 transitions. [2018-12-19 21:25:53,712 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:25:53,712 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:25:53,713 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:25:53,713 INFO L423 AbstractCegarLoop]: === Iteration 44 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:25:53,713 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:53,713 INFO L82 PathProgramCache]: Analyzing trace with hash 904329702, now seen corresponding path program 1 times [2018-12-19 21:25:53,713 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:25:53,714 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:53,714 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:25:53,714 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:25:53,714 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:25:53,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:53,847 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15214#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:25:53,848 INFO L273 TraceCheckUtils]: 1: Hoare triple {15214#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15215#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:25:53,849 INFO L273 TraceCheckUtils]: 2: Hoare triple {15215#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:25:53,849 INFO L273 TraceCheckUtils]: 3: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:25:53,850 INFO L273 TraceCheckUtils]: 4: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:25:53,851 INFO L273 TraceCheckUtils]: 5: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2018-12-19 21:25:53,851 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:25:53,851 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:53,851 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:25:53,851 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:25:53,852 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [26], [27] [2018-12-19 21:25:53,853 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:25:53,853 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:25:53,940 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:25:53,940 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:25:53,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:25:53,940 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:25:53,940 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:25:53,941 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:25:53,950 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:25:53,950 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:25:53,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:53,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:25:53,959 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:25:53,978 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:25:53,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:53,996 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:25:54,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,010 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:25:54,026 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,028 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,029 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,030 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:25:54,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,063 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,064 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:25:54,069 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:54,101 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:54,117 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:54,131 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:54,144 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:25:54,165 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:25:54,166 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:25:54,178 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:54,178 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_239|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_239| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:25:54,178 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:25:54,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,246 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,247 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,248 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,249 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,251 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,255 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,256 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,257 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:54,258 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:25:54,263 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:54,308 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:25:54,308 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:25:56,362 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:56,363 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_240|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_240| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_240| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_240| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p3)))) [2018-12-19 21:25:56,363 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:25:56,464 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,465 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,467 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,468 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,469 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,471 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,472 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,473 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,475 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,476 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,477 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,478 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,480 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:25:56,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, 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:25:56,487 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:25:56,538 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:25:56,539 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:25:58,549 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:25:58,549 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_241|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_241| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_241| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_241| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:25:58,549 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:25:58,645 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15220#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:25:58,647 INFO L273 TraceCheckUtils]: 1: Hoare triple {15220#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15224#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:25:58,650 INFO L273 TraceCheckUtils]: 2: Hoare triple {15224#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:25:58,651 INFO L273 TraceCheckUtils]: 3: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:25:58,652 INFO L273 TraceCheckUtils]: 4: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:25:58,653 INFO L273 TraceCheckUtils]: 5: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2018-12-19 21:25:58,654 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:25:58,654 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:25:58,705 INFO L273 TraceCheckUtils]: 5: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2018-12-19 21:25:58,706 INFO L273 TraceCheckUtils]: 4: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:58,706 INFO L273 TraceCheckUtils]: 3: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:58,707 INFO L273 TraceCheckUtils]: 2: Hoare triple {15248#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:58,709 INFO L273 TraceCheckUtils]: 1: Hoare triple {15252#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15248#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:58,711 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15252#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:25:58,711 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:25:58,731 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:25:58,732 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:25:58,732 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:25:58,732 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:25:58,732 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:25:58,732 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:25:58,752 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:25:58,752 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:25:58,752 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:25:58,752 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:25:58,752 INFO L87 Difference]: Start difference. First operand 74 states and 334 transitions. Second operand 8 states. [2018-12-19 21:26:03,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:03,500 INFO L93 Difference]: Finished difference Result 87 states and 350 transitions. [2018-12-19 21:26:03,500 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:26:03,500 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:26:03,500 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:26:03,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:26:03,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2018-12-19 21:26:03,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:26:03,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2018-12-19 21:26:03,502 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 48 transitions. [2018-12-19 21:26:03,573 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:26:03,575 INFO L225 Difference]: With dead ends: 87 [2018-12-19 21:26:03,575 INFO L226 Difference]: Without dead ends: 86 [2018-12-19 21:26:03,575 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 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:26:03,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-12-19 21:26:04,732 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 73. [2018-12-19 21:26:04,732 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:26:04,733 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 73 states. [2018-12-19 21:26:04,733 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 73 states. [2018-12-19 21:26:04,733 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 73 states. [2018-12-19 21:26:04,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:04,736 INFO L93 Difference]: Finished difference Result 86 states and 348 transitions. [2018-12-19 21:26:04,736 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 348 transitions. [2018-12-19 21:26:04,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:04,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:04,737 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 86 states. [2018-12-19 21:26:04,737 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 86 states. [2018-12-19 21:26:04,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:04,739 INFO L93 Difference]: Finished difference Result 86 states and 348 transitions. [2018-12-19 21:26:04,739 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 348 transitions. [2018-12-19 21:26:04,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:04,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:04,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:26:04,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:26:04,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2018-12-19 21:26:04,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 337 transitions. [2018-12-19 21:26:04,741 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 337 transitions. Word has length 6 [2018-12-19 21:26:04,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:26:04,741 INFO L480 AbstractCegarLoop]: Abstraction has 73 states and 337 transitions. [2018-12-19 21:26:04,741 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:26:04,741 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 337 transitions. [2018-12-19 21:26:04,741 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:26:04,741 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:26:04,741 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:26:04,742 INFO L423 AbstractCegarLoop]: === Iteration 45 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:26:04,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:04,742 INFO L82 PathProgramCache]: Analyzing trace with hash 904316184, now seen corresponding path program 1 times [2018-12-19 21:26:04,742 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:26:04,742 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:04,742 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:04,743 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:04,743 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:26:04,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:04,922 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15699#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:26:04,923 INFO L273 TraceCheckUtils]: 1: Hoare triple {15699#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:26:04,924 INFO L273 TraceCheckUtils]: 2: Hoare triple {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:26:04,925 INFO L273 TraceCheckUtils]: 3: Hoare triple {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15701#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:26:04,926 INFO L273 TraceCheckUtils]: 4: Hoare triple {15701#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:04,926 INFO L273 TraceCheckUtils]: 5: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2018-12-19 21:26:04,927 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:26:04,927 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:04,927 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:26:04,927 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:26:04,928 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [24], [25] [2018-12-19 21:26:04,929 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:26:04,929 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:26:05,000 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:26:05,000 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:26:05,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:05,000 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:26:05,000 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:05,001 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:26:05,008 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:05,008 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:26:05,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:05,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:05,017 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:26:05,038 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:26:05,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,047 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:26:05,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,060 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:26:05,079 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,080 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,081 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,082 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:26:05,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,132 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:26:05,137 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:05,169 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:05,187 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:05,201 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:05,213 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:05,236 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:26:05,237 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:26:05,245 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:05,246 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_244|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_244| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:26:05,246 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:26:05,315 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,316 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,319 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,320 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,321 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,322 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,324 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,325 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,326 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:05,328 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:26:05,333 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:05,379 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:26:05,380 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:26:06,998 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:06,999 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_245|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_245| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (store |v_#memory_int_245| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_245| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_245| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_245| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_245| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:26:06,999 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:26:07,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,076 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,077 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,078 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,079 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,080 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,082 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,083 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,084 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,085 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,086 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,087 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,088 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,089 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:26:07,099 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:07,152 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:26:07,152 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:26:07,183 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:07,183 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_246|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_246| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_246| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_246| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_246| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_246| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_246| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:26:07,184 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:07,251 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,255 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,256 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,257 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,258 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,259 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,261 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,262 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,263 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,264 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:26:07,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:07,266 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:26:07,271 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:07,328 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:26:07,329 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:26:07,376 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:07,377 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_247|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_247| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_247| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_247| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_247| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= (select |v_#memory_int_247| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_247| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:26:07,377 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:07,450 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15706#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:07,454 INFO L273 TraceCheckUtils]: 1: Hoare triple {15706#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15710#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:07,457 INFO L273 TraceCheckUtils]: 2: Hoare triple {15710#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15714#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:26:07,461 INFO L273 TraceCheckUtils]: 3: Hoare triple {15714#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-19 21:26:07,462 INFO L273 TraceCheckUtils]: 4: Hoare triple {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-19 21:26:07,463 INFO L273 TraceCheckUtils]: 5: Hoare triple {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2018-12-19 21:26:07,463 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:26:07,464 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:26:07,518 INFO L273 TraceCheckUtils]: 5: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2018-12-19 21:26:07,519 INFO L273 TraceCheckUtils]: 4: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:07,520 INFO L273 TraceCheckUtils]: 3: Hoare triple {15731#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:07,521 INFO L273 TraceCheckUtils]: 2: Hoare triple {15735#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15731#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:26:07,522 INFO L273 TraceCheckUtils]: 1: Hoare triple {15739#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15735#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:26:07,525 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15739#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:26:07,525 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:26:07,544 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:26:07,544 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:26:07,544 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:26:07,544 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:26:07,544 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:26:07,545 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:26:07,566 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:26:07,566 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:26:07,566 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:26:07,566 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=92, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:26:07,566 INFO L87 Difference]: Start difference. First operand 73 states and 337 transitions. Second operand 10 states. [2018-12-19 21:26:11,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:11,079 INFO L93 Difference]: Finished difference Result 106 states and 387 transitions. [2018-12-19 21:26:11,079 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:26:11,079 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:26:11,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:26:11,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:26:11,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2018-12-19 21:26:11,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:26:11,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2018-12-19 21:26:11,081 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2018-12-19 21:26:11,232 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:26:11,235 INFO L225 Difference]: With dead ends: 106 [2018-12-19 21:26:11,235 INFO L226 Difference]: Without dead ends: 105 [2018-12-19 21:26:11,235 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=92, Invalid=148, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:26:11,235 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2018-12-19 21:26:12,493 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 75. [2018-12-19 21:26:12,494 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:26:12,494 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 75 states. [2018-12-19 21:26:12,494 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 75 states. [2018-12-19 21:26:12,494 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 75 states. [2018-12-19 21:26:12,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:12,498 INFO L93 Difference]: Finished difference Result 105 states and 385 transitions. [2018-12-19 21:26:12,498 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 385 transitions. [2018-12-19 21:26:12,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:12,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:12,498 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 105 states. [2018-12-19 21:26:12,498 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 105 states. [2018-12-19 21:26:12,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:12,501 INFO L93 Difference]: Finished difference Result 105 states and 385 transitions. [2018-12-19 21:26:12,501 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 385 transitions. [2018-12-19 21:26:12,501 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:12,501 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:12,501 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:26:12,501 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:26:12,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-12-19 21:26:12,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 349 transitions. [2018-12-19 21:26:12,503 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 349 transitions. Word has length 6 [2018-12-19 21:26:12,503 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:26:12,503 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 349 transitions. [2018-12-19 21:26:12,503 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:26:12,503 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 349 transitions. [2018-12-19 21:26:12,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:26:12,503 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:26:12,504 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:26:12,504 INFO L423 AbstractCegarLoop]: === Iteration 46 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:26:12,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:12,504 INFO L82 PathProgramCache]: Analyzing trace with hash 904320028, now seen corresponding path program 1 times [2018-12-19 21:26:12,504 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:26:12,504 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:12,505 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:12,505 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:12,505 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:26:12,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:12,807 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16253#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:26:12,808 INFO L273 TraceCheckUtils]: 1: Hoare triple {16253#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:26:12,809 INFO L273 TraceCheckUtils]: 2: Hoare triple {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:26:12,810 INFO L273 TraceCheckUtils]: 3: Hoare triple {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16255#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:26:12,810 INFO L273 TraceCheckUtils]: 4: Hoare triple {16255#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {16256#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:12,811 INFO L273 TraceCheckUtils]: 5: Hoare triple {16256#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2018-12-19 21:26:12,811 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:26:12,812 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:12,812 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:26:12,812 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:26:12,812 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [18], [24], [25] [2018-12-19 21:26:12,813 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:26:12,814 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:26:12,837 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:26:12,837 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:26:12,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:12,837 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:26:12,838 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:12,838 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:26:12,848 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:12,848 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:26:12,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:12,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:12,860 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:26:12,885 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:26:12,892 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:12,892 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:26:12,905 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:12,906 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:12,907 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:26:12,954 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:12,955 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:12,955 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:12,956 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:26:12,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:12,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:12,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:12,982 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:12,983 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:26:12,988 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:13,019 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:13,035 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:13,049 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:13,061 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:13,082 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:26:13,082 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:26:13,089 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:13,089 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_251|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_251| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:13,089 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:26:13,158 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:13,160 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:13,161 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:13,162 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:13,163 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:13,165 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:13,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:13,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:13,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:13,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:13,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:13,171 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:26:13,176 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:13,223 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:26:13,223 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:26:13,969 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:13,969 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_252|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_252| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_252| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_252| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_252| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_252| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_252| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:26:13,969 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:26:14,039 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,040 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,041 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,042 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,043 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,048 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,054 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:26:14,059 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:14,110 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:26:14,111 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:26:14,140 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:14,140 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_253|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_253| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_253| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_253| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_253| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_253| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_253| ULTIMATE.start_main_p3)))) [2018-12-19 21:26:14,140 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:14,213 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,215 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,216 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,218 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,219 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,220 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,221 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,222 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,223 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,225 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,226 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,229 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:14,229 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:26:14,230 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 104 [2018-12-19 21:26:14,240 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:14,299 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:26:14,299 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:26:16,340 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:16,341 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_254|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_254| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_254| ULTIMATE.start_main_p5)) (= 0 (+ (select |v_#memory_int_254| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_254| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_254| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_254| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:26:16,341 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:16,436 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16260#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:16,438 INFO L273 TraceCheckUtils]: 1: Hoare triple {16260#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16264#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:16,441 INFO L273 TraceCheckUtils]: 2: Hoare triple {16264#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16268#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:16,445 INFO L273 TraceCheckUtils]: 3: Hoare triple {16268#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:26:16,446 INFO L273 TraceCheckUtils]: 4: Hoare triple {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:26:16,447 INFO L273 TraceCheckUtils]: 5: Hoare triple {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2018-12-19 21:26:16,448 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:26:16,448 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:26:16,545 INFO L273 TraceCheckUtils]: 5: Hoare triple {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2018-12-19 21:26:16,545 INFO L273 TraceCheckUtils]: 4: Hoare triple {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:16,546 INFO L273 TraceCheckUtils]: 3: Hoare triple {16286#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:16,547 INFO L273 TraceCheckUtils]: 2: Hoare triple {16290#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16286#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:16,549 INFO L273 TraceCheckUtils]: 1: Hoare triple {16294#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16290#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:16,551 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16294#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:16,552 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:26:16,572 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:26:16,573 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:26:16,573 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:26:16,573 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:26:16,573 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:26:16,573 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:26:16,593 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:26:16,594 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:26:16,594 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:26:16,594 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=117, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:26:16,594 INFO L87 Difference]: Start difference. First operand 75 states and 349 transitions. Second operand 10 states. [2018-12-19 21:26:19,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:19,703 INFO L93 Difference]: Finished difference Result 102 states and 394 transitions. [2018-12-19 21:26:19,703 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:26:19,703 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:26:19,703 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:26:19,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:26:19,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2018-12-19 21:26:19,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:26:19,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2018-12-19 21:26:19,704 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 61 transitions. [2018-12-19 21:26:19,808 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:26:19,810 INFO L225 Difference]: With dead ends: 102 [2018-12-19 21:26:19,810 INFO L226 Difference]: Without dead ends: 101 [2018-12-19 21:26:19,811 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=98, Invalid=174, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:26:19,811 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2018-12-19 21:26:21,468 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 78. [2018-12-19 21:26:21,468 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:26:21,468 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand 78 states. [2018-12-19 21:26:21,468 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 78 states. [2018-12-19 21:26:21,469 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 78 states. [2018-12-19 21:26:21,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:21,472 INFO L93 Difference]: Finished difference Result 101 states and 392 transitions. [2018-12-19 21:26:21,472 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 392 transitions. [2018-12-19 21:26:21,472 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:21,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:21,473 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 101 states. [2018-12-19 21:26:21,473 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 101 states. [2018-12-19 21:26:21,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:21,475 INFO L93 Difference]: Finished difference Result 101 states and 392 transitions. [2018-12-19 21:26:21,475 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 392 transitions. [2018-12-19 21:26:21,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:21,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:21,475 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:26:21,475 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:26:21,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-12-19 21:26:21,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 367 transitions. [2018-12-19 21:26:21,477 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 367 transitions. Word has length 6 [2018-12-19 21:26:21,477 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:26:21,477 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 367 transitions. [2018-12-19 21:26:21,477 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:26:21,477 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 367 transitions. [2018-12-19 21:26:21,478 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:26:21,478 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:26:21,478 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:26:21,478 INFO L423 AbstractCegarLoop]: === Iteration 47 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:26:21,478 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:21,478 INFO L82 PathProgramCache]: Analyzing trace with hash 904448866, now seen corresponding path program 1 times [2018-12-19 21:26:21,478 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:26:21,479 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:21,479 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:21,479 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:21,479 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:26:21,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:21,663 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16804#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:26:21,665 INFO L273 TraceCheckUtils]: 1: Hoare triple {16804#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16805#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:26:21,666 INFO L273 TraceCheckUtils]: 2: Hoare triple {16805#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:26:21,666 INFO L273 TraceCheckUtils]: 3: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:26:21,667 INFO L273 TraceCheckUtils]: 4: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:26:21,667 INFO L273 TraceCheckUtils]: 5: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2018-12-19 21:26:21,668 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:26:21,668 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:21,668 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:26:21,668 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:26:21,668 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [24], [26], [27] [2018-12-19 21:26:21,671 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:26:21,671 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:26:21,684 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:26:21,684 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:26:21,684 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:21,685 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:26:21,685 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:21,685 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 45 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 45 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:26:21,696 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:21,696 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:26:21,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:21,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:21,724 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:26:21,756 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:26:21,765 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:26:21,780 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:21,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, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:26:21,798 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:21,799 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:21,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, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:26:21,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:21,824 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:21,825 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:21,826 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:26:21,831 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:21,853 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:21,868 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:21,881 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:21,892 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:21,912 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:26:21,913 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-19 21:26:21,919 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:21,920 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_258|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_258| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:21,920 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:26:21,997 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:21,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:21,999 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,001 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,005 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:26:22,010 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:22,041 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:26:22,041 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-19 21:26:22,049 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:22,050 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_259|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_259| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_259| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_259| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_259| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_259| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:26:22,050 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:22,109 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,110 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,111 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,113 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,114 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,115 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,116 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:22,117 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:26:22,117 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 60 [2018-12-19 21:26:22,122 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:22,158 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:26:22,159 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:30 [2018-12-19 21:26:22,169 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:22,169 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_260|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_260| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_260| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_260| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_260| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_260| ULTIMATE.start_main_p4) 1)))) [2018-12-19 21:26:22,169 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:22,239 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16810#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:26:22,242 INFO L273 TraceCheckUtils]: 1: Hoare triple {16810#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16814#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:22,244 INFO L273 TraceCheckUtils]: 2: Hoare triple {16814#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:26:22,245 INFO L273 TraceCheckUtils]: 3: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:26:22,246 INFO L273 TraceCheckUtils]: 4: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:26:22,247 INFO L273 TraceCheckUtils]: 5: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2018-12-19 21:26:22,248 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:26:22,248 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:26:22,298 INFO L273 TraceCheckUtils]: 5: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2018-12-19 21:26:22,299 INFO L273 TraceCheckUtils]: 4: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:22,299 INFO L273 TraceCheckUtils]: 3: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:22,300 INFO L273 TraceCheckUtils]: 2: Hoare triple {16838#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:22,302 INFO L273 TraceCheckUtils]: 1: Hoare triple {16842#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16838#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:22,304 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16842#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:22,304 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:26:22,323 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:26:22,323 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:26:22,323 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:26:22,324 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:26:22,324 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:26:22,324 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:26:22,343 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:26:22,343 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:26:22,344 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:26:22,344 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:26:22,344 INFO L87 Difference]: Start difference. First operand 78 states and 367 transitions. Second operand 8 states. [2018-12-19 21:26:25,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:25,971 INFO L93 Difference]: Finished difference Result 94 states and 387 transitions. [2018-12-19 21:26:25,971 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:26:25,971 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:26:25,971 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:26:25,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:26:25,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-12-19 21:26:25,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:26:25,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-12-19 21:26:25,972 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 49 transitions. [2018-12-19 21:26:26,041 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:26:26,043 INFO L225 Difference]: With dead ends: 94 [2018-12-19 21:26:26,044 INFO L226 Difference]: Without dead ends: 93 [2018-12-19 21:26:26,044 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:26:26,044 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2018-12-19 21:26:27,783 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 78. [2018-12-19 21:26:27,784 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:26:27,784 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand 78 states. [2018-12-19 21:26:27,784 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 78 states. [2018-12-19 21:26:27,784 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 78 states. [2018-12-19 21:26:27,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:27,786 INFO L93 Difference]: Finished difference Result 93 states and 385 transitions. [2018-12-19 21:26:27,787 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 385 transitions. [2018-12-19 21:26:27,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:27,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:27,787 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 93 states. [2018-12-19 21:26:27,787 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 93 states. [2018-12-19 21:26:27,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:27,789 INFO L93 Difference]: Finished difference Result 93 states and 385 transitions. [2018-12-19 21:26:27,790 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 385 transitions. [2018-12-19 21:26:27,790 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:27,790 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:27,790 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:26:27,790 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:26:27,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-12-19 21:26:27,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 367 transitions. [2018-12-19 21:26:27,792 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 367 transitions. Word has length 6 [2018-12-19 21:26:27,792 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:26:27,792 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 367 transitions. [2018-12-19 21:26:27,792 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:26:27,792 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 367 transitions. [2018-12-19 21:26:27,792 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:26:27,792 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:26:27,792 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:26:27,793 INFO L423 AbstractCegarLoop]: === Iteration 48 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:26:27,793 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:27,793 INFO L82 PathProgramCache]: Analyzing trace with hash 904439192, now seen corresponding path program 1 times [2018-12-19 21:26:27,793 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:26:27,793 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:27,793 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:27,794 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:27,794 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:26:27,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:28,020 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17326#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:26:28,021 INFO L273 TraceCheckUtils]: 1: Hoare triple {17326#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17327#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:26:28,022 INFO L273 TraceCheckUtils]: 2: Hoare triple {17327#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17328#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:26:28,023 INFO L273 TraceCheckUtils]: 3: Hoare triple {17328#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:26:28,024 INFO L273 TraceCheckUtils]: 4: Hoare triple {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:26:28,024 INFO L273 TraceCheckUtils]: 5: Hoare triple {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2018-12-19 21:26:28,025 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:26:28,025 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:28,025 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:26:28,025 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:26:28,026 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [24], [25] [2018-12-19 21:26:28,028 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:26:28,029 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:26:28,059 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:26:28,059 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:26:28,059 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:28,060 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:26:28,060 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:28,060 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 46 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 46 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:26:28,070 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:28,070 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:26:28,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:28,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:28,083 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:26:28,103 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:26:28,113 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:26:28,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,128 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:26:28,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,148 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:26:28,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,175 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:26:28,180 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:28,204 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:28,218 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:28,230 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:28,242 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:28,262 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:26:28,262 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-19 21:26:28,268 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:28,268 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_263|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_263| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:28,268 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:26:28,353 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,354 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,355 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,357 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,358 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,360 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,361 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,362 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:26:28,367 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:28,399 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:26:28,399 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-19 21:26:28,412 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:28,412 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_264|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_264| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_264| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_264| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_264| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_264| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:26:28,412 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:28,568 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,570 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,571 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,572 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,574 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,575 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,576 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,577 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:26:28,577 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 60 [2018-12-19 21:26:28,582 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:28,618 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:26:28,618 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:30 [2018-12-19 21:26:28,626 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:28,627 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_265|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_265| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_265| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_265| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_265| ULTIMATE.start_main_p5)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_265| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:26:28,627 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:28,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,696 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,697 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,698 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,699 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,701 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,702 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:28,703 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 69 [2018-12-19 21:26:28,707 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:28,745 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:26:28,745 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2018-12-19 21:26:28,755 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:28,755 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_266|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_266| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_266| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_266| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |v_#memory_int_266| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_266| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0))) [2018-12-19 21:26:28,755 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:26:28,810 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17333#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:26:28,812 INFO L273 TraceCheckUtils]: 1: Hoare triple {17333#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17337#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:28,814 INFO L273 TraceCheckUtils]: 2: Hoare triple {17337#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17341#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:28,817 INFO L273 TraceCheckUtils]: 3: Hoare triple {17341#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:26:28,818 INFO L273 TraceCheckUtils]: 4: Hoare triple {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:26:28,819 INFO L273 TraceCheckUtils]: 5: Hoare triple {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2018-12-19 21:26:28,819 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:26:28,820 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:26:28,887 INFO L273 TraceCheckUtils]: 5: Hoare triple {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2018-12-19 21:26:28,888 INFO L273 TraceCheckUtils]: 4: Hoare triple {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:28,889 INFO L273 TraceCheckUtils]: 3: Hoare triple {17359#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:28,891 INFO L273 TraceCheckUtils]: 2: Hoare triple {17363#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17359#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:28,908 INFO L273 TraceCheckUtils]: 1: Hoare triple {17367#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17363#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:28,913 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17367#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:26:28,914 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:26:28,932 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:26:28,932 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:26:28,932 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:26:28,933 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:26:28,933 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:26:28,933 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:26:28,952 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:26:28,952 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:26:28,952 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:26:28,952 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:26:28,952 INFO L87 Difference]: Start difference. First operand 78 states and 367 transitions. Second operand 10 states. [2018-12-19 21:26:32,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:32,581 INFO L93 Difference]: Finished difference Result 116 states and 427 transitions. [2018-12-19 21:26:32,581 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:26:32,581 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:26:32,581 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:26:32,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:26:32,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2018-12-19 21:26:32,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:26:32,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2018-12-19 21:26:32,582 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 74 transitions. [2018-12-19 21:26:32,695 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:26:32,698 INFO L225 Difference]: With dead ends: 116 [2018-12-19 21:26:32,698 INFO L226 Difference]: Without dead ends: 115 [2018-12-19 21:26:32,698 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:26:32,699 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-12-19 21:26:34,559 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 79. [2018-12-19 21:26:34,560 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:26:34,560 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 79 states. [2018-12-19 21:26:34,560 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 79 states. [2018-12-19 21:26:34,560 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 79 states. [2018-12-19 21:26:34,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:34,562 INFO L93 Difference]: Finished difference Result 115 states and 425 transitions. [2018-12-19 21:26:34,563 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 425 transitions. [2018-12-19 21:26:34,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:34,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:34,563 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 115 states. [2018-12-19 21:26:34,563 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 115 states. [2018-12-19 21:26:34,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:34,566 INFO L93 Difference]: Finished difference Result 115 states and 425 transitions. [2018-12-19 21:26:34,566 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 425 transitions. [2018-12-19 21:26:34,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:34,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:34,566 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:26:34,567 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:26:34,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2018-12-19 21:26:34,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 373 transitions. [2018-12-19 21:26:34,568 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 373 transitions. Word has length 6 [2018-12-19 21:26:34,569 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:26:34,569 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 373 transitions. [2018-12-19 21:26:34,569 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:26:34,569 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 373 transitions. [2018-12-19 21:26:34,569 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:26:34,569 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:26:34,569 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:26:34,569 INFO L423 AbstractCegarLoop]: === Iteration 49 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:26:34,569 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:34,570 INFO L82 PathProgramCache]: Analyzing trace with hash 904550232, now seen corresponding path program 1 times [2018-12-19 21:26:34,570 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:26:34,570 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:34,570 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:34,570 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:34,570 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:26:34,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:34,819 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17923#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:26:34,820 INFO L273 TraceCheckUtils]: 1: Hoare triple {17923#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17924#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:26:34,821 INFO L273 TraceCheckUtils]: 2: Hoare triple {17924#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17925#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:26:34,822 INFO L273 TraceCheckUtils]: 3: Hoare triple {17925#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17926#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:26:34,823 INFO L273 TraceCheckUtils]: 4: Hoare triple {17926#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17927#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:34,824 INFO L273 TraceCheckUtils]: 5: Hoare triple {17927#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2018-12-19 21:26:34,824 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:26:34,824 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:34,825 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:26:34,825 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:26:34,825 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [23] [2018-12-19 21:26:34,826 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:26:34,826 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:26:34,833 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:26:34,834 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-19 21:26:34,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:34,834 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:26:34,834 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:34,834 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 47 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 47 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:26:34,842 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:34,843 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:26:34,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:34,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:34,854 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:26:34,888 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:26:34,898 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:34,899 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:26:34,914 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:34,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:34,917 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:26:34,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:34,938 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:34,939 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:34,940 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:26:34,966 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:34,967 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:34,969 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:34,970 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:34,971 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:26:34,977 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:35,008 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:35,027 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:35,042 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:35,055 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:35,076 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:26:35,077 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:26:35,083 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:35,083 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_270|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_270| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:26:35,084 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:26:35,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,180 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:26:35,187 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:35,233 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:26:35,233 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:26:35,711 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:35,711 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_271|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_271| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (select |v_#memory_int_271| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_271| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_271| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_271| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_271| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:26:35,712 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:26:35,815 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,818 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,820 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,822 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,823 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,824 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,825 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,826 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,827 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,828 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,830 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:35,831 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:26:35,837 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:35,912 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:26:35,912 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:26:37,931 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:37,931 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_272|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_272| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_272| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_272| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= 0 (select |v_#memory_int_272| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_272| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_272| ULTIMATE.start_main_p2)))) [2018-12-19 21:26:37,931 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:26:38,026 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,029 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,032 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,037 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,038 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,039 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,040 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,041 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,042 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,043 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,044 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:26:38,045 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 104 [2018-12-19 21:26:38,052 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:38,107 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:26:38,108 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:26:38,118 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:38,118 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_273|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_273| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_273| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_273| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_273| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_273| ULTIMATE.start_main_p5) 0) (= 1 (select |v_#memory_int_273| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:26:38,118 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:26:38,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,270 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,271 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,278 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,283 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:26:38,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:38,285 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:26:38,292 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:38,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:26:38,351 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:26:38,376 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:38,376 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_274|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_274| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |v_#memory_int_274| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_274| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_274| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_274| ULTIMATE.start_main_p3) 1) (= |#memory_int| (store |v_#memory_int_274| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:26:38,376 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:26:38,447 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17931#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:38,450 INFO L273 TraceCheckUtils]: 1: Hoare triple {17931#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17935#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:38,453 INFO L273 TraceCheckUtils]: 2: Hoare triple {17935#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17939#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:38,457 INFO L273 TraceCheckUtils]: 3: Hoare triple {17939#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17943#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:38,463 INFO L273 TraceCheckUtils]: 4: Hoare triple {17943#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17947#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:26:38,464 INFO L273 TraceCheckUtils]: 5: Hoare triple {17947#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2018-12-19 21:26:38,464 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:26:38,464 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:26:38,581 INFO L273 TraceCheckUtils]: 5: Hoare triple {17951#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2018-12-19 21:26:38,582 INFO L273 TraceCheckUtils]: 4: Hoare triple {17955#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17951#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:38,584 INFO L273 TraceCheckUtils]: 3: Hoare triple {17959#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17955#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:38,585 INFO L273 TraceCheckUtils]: 2: Hoare triple {17963#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17959#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:38,587 INFO L273 TraceCheckUtils]: 1: Hoare triple {17967#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17963#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:38,590 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17967#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:38,590 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:26:38,609 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:26:38,609 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-19 21:26:38,609 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:26:38,609 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:26:38,609 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:26:38,609 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:26:38,634 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:26:38,634 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:26:38,634 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:26:38,634 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:26:38,634 INFO L87 Difference]: Start difference. First operand 79 states and 373 transitions. Second operand 12 states. [2018-12-19 21:26:42,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:42,763 INFO L93 Difference]: Finished difference Result 140 states and 516 transitions. [2018-12-19 21:26:42,764 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:26:42,764 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:26:42,764 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:26:42,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:26:42,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-19 21:26:42,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:26:42,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-19 21:26:42,765 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2018-12-19 21:26:42,976 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:26:42,979 INFO L225 Difference]: With dead ends: 140 [2018-12-19 21:26:42,979 INFO L226 Difference]: Without dead ends: 139 [2018-12-19 21:26:42,979 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:26:42,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2018-12-19 21:26:44,830 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 76. [2018-12-19 21:26:44,830 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:26:44,831 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand 76 states. [2018-12-19 21:26:44,831 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 76 states. [2018-12-19 21:26:44,831 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 76 states. [2018-12-19 21:26:44,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:44,835 INFO L93 Difference]: Finished difference Result 139 states and 514 transitions. [2018-12-19 21:26:44,836 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 514 transitions. [2018-12-19 21:26:44,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:44,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:44,836 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 139 states. [2018-12-19 21:26:44,836 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 139 states. [2018-12-19 21:26:44,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:44,839 INFO L93 Difference]: Finished difference Result 139 states and 514 transitions. [2018-12-19 21:26:44,839 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 514 transitions. [2018-12-19 21:26:44,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:44,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:44,839 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:26:44,839 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:26:44,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2018-12-19 21:26:44,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 355 transitions. [2018-12-19 21:26:44,841 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 355 transitions. Word has length 6 [2018-12-19 21:26:44,841 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:26:44,841 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 355 transitions. [2018-12-19 21:26:44,841 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:26:44,842 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 355 transitions. [2018-12-19 21:26:44,842 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:26:44,842 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:26:44,842 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:26:44,842 INFO L423 AbstractCegarLoop]: === Iteration 50 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:26:44,842 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:44,842 INFO L82 PathProgramCache]: Analyzing trace with hash 904568030, now seen corresponding path program 1 times [2018-12-19 21:26:44,842 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:26:44,843 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:44,843 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:44,843 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:44,843 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:26:44,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:44,957 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18604#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:26:44,958 INFO L273 TraceCheckUtils]: 1: Hoare triple {18604#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18605#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:26:44,959 INFO L273 TraceCheckUtils]: 2: Hoare triple {18605#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:44,960 INFO L273 TraceCheckUtils]: 3: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:44,960 INFO L273 TraceCheckUtils]: 4: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:44,961 INFO L273 TraceCheckUtils]: 5: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2018-12-19 21:26:44,961 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:26:44,961 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:44,961 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:26:44,962 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:26:44,962 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [26], [27] [2018-12-19 21:26:44,963 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:26:44,963 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:26:44,978 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:26:44,979 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:26:44,979 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:44,979 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:26:44,979 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:44,980 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 48 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 48 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:26:44,988 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:44,988 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:26:44,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:44,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:44,995 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:26:45,008 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:26:45,018 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:26:45,036 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-19 21:26:45,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,058 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-12-19 21:26:45,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,078 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,079 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2018-12-19 21:26:45,082 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:45,098 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:45,110 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:45,121 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:45,131 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:45,147 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:26:45,147 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2018-12-19 21:26:45,152 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:45,153 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_279|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_279| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:26:45,153 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:26:45,203 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,204 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,205 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,207 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 28 [2018-12-19 21:26:45,209 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:45,227 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:26:45,227 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2018-12-19 21:26:45,234 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:45,235 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_280|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_280| ULTIMATE.start_main_p4))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_280| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_280| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_280| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-19 21:26:45,235 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:26:45,271 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,273 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:45,277 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2018-12-19 21:26:45,280 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:45,301 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:26:45,301 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2018-12-19 21:26:45,310 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:45,310 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_281|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_281| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_281| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_281| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_281| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-19 21:26:45,310 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:26:45,352 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18610#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:26:45,353 INFO L273 TraceCheckUtils]: 1: Hoare triple {18610#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18614#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:26:45,355 INFO L273 TraceCheckUtils]: 2: Hoare triple {18614#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:26:45,356 INFO L273 TraceCheckUtils]: 3: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:26:45,357 INFO L273 TraceCheckUtils]: 4: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:26:45,358 INFO L273 TraceCheckUtils]: 5: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2018-12-19 21:26:45,358 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:26:45,358 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:26:45,386 INFO L273 TraceCheckUtils]: 5: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2018-12-19 21:26:45,387 INFO L273 TraceCheckUtils]: 4: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:45,387 INFO L273 TraceCheckUtils]: 3: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:45,388 INFO L273 TraceCheckUtils]: 2: Hoare triple {18637#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:26:45,389 INFO L273 TraceCheckUtils]: 1: Hoare triple {18641#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18637#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2018-12-19 21:26:45,391 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18641#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2018-12-19 21:26:45,392 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:26:45,410 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:26:45,410 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:26:45,411 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:26:45,411 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:26:45,411 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:26:45,411 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:26:45,427 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:26:45,427 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:26:45,428 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:26:45,428 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:26:45,428 INFO L87 Difference]: Start difference. First operand 76 states and 355 transitions. Second operand 8 states. [2018-12-19 21:26:48,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:48,901 INFO L93 Difference]: Finished difference Result 112 states and 470 transitions. [2018-12-19 21:26:48,901 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:26:48,901 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:26:48,901 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:26:48,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:26:48,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-19 21:26:48,902 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:26:48,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-19 21:26:48,902 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2018-12-19 21:26:48,996 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:26:48,998 INFO L225 Difference]: With dead ends: 112 [2018-12-19 21:26:48,998 INFO L226 Difference]: Without dead ends: 111 [2018-12-19 21:26:48,999 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:26:48,999 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2018-12-19 21:26:50,778 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 80. [2018-12-19 21:26:50,778 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:26:50,779 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 80 states. [2018-12-19 21:26:50,779 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 80 states. [2018-12-19 21:26:50,779 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 80 states. [2018-12-19 21:26:50,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:50,783 INFO L93 Difference]: Finished difference Result 111 states and 468 transitions. [2018-12-19 21:26:50,783 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 468 transitions. [2018-12-19 21:26:50,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:50,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:50,783 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 111 states. [2018-12-19 21:26:50,783 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 111 states. [2018-12-19 21:26:50,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:26:50,787 INFO L93 Difference]: Finished difference Result 111 states and 468 transitions. [2018-12-19 21:26:50,787 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 468 transitions. [2018-12-19 21:26:50,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:26:50,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:26:50,787 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:26:50,787 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:26:50,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 80 states. [2018-12-19 21:26:50,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 380 transitions. [2018-12-19 21:26:50,790 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 380 transitions. Word has length 6 [2018-12-19 21:26:50,790 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:26:50,790 INFO L480 AbstractCegarLoop]: Abstraction has 80 states and 380 transitions. [2018-12-19 21:26:50,790 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:26:50,790 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 380 transitions. [2018-12-19 21:26:50,791 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:26:50,791 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:26:50,791 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:26:50,791 INFO L423 AbstractCegarLoop]: === Iteration 51 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:26:50,791 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:26:50,791 INFO L82 PathProgramCache]: Analyzing trace with hash 906170478, now seen corresponding path program 2 times [2018-12-19 21:26:50,792 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:26:50,792 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:50,792 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:26:50,792 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:26:50,792 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:26:50,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:51,089 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19194#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:26:51,090 INFO L273 TraceCheckUtils]: 1: Hoare triple {19194#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19195#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:26:51,091 INFO L273 TraceCheckUtils]: 2: Hoare triple {19195#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19196#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:26:51,092 INFO L273 TraceCheckUtils]: 3: Hoare triple {19196#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {19197#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:26:51,092 INFO L273 TraceCheckUtils]: 4: Hoare triple {19197#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19198#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:51,095 INFO L273 TraceCheckUtils]: 5: Hoare triple {19198#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2018-12-19 21:26:51,095 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:26:51,095 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:51,095 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:26:51,095 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:26:51,095 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:26:51,095 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:26:51,096 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 49 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 49 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:26:51,104 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:26:51,105 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:26:51,111 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:26:51,111 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:26:51,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:26:51,115 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:26:51,137 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:26:51,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,146 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:26:51,158 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,159 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,160 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:26:51,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,180 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:26:51,204 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,207 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,209 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,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, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:26:51,215 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:51,245 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:51,262 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:51,277 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:51,288 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:26:51,311 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:26:51,311 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:26:51,323 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:51,323 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_284|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_284| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:26:51,324 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:26:51,443 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,446 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,447 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,449 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,450 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,451 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,453 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,454 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,455 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,456 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:51,457 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:26:51,462 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:51,510 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:26:51,510 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:26:53,520 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:53,521 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_285|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_285| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (select |v_#memory_int_285| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_285| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_285| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (select |v_#memory_int_285| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_285| ULTIMATE.start_main_p4)))) [2018-12-19 21:26:53,521 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:26:53,600 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,611 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,614 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:26:53,614 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:26:53,620 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:53,669 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:26:53,670 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:26:53,687 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:53,687 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_286|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_286| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_286| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_286| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_286| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_286| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (= (select |v_#memory_int_286| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:26:53,687 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:26:53,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,769 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,770 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,773 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,774 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,776 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,777 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,778 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:53,780 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:26:53,786 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:53,840 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:26:53,841 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:26:55,873 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:55,873 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_287|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_287| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_287| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_287| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_287| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_287| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_287| ULTIMATE.start_main_p1)))) [2018-12-19 21:26:55,873 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:26:55,972 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,973 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,977 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,982 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,983 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,985 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,986 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:26:55,987 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:26:55,988 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 93 [2018-12-19 21:26:55,994 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:26:56,052 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:26:56,052 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:26:58,202 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:26:58,203 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_288|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_288| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_288| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_288| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_288| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_288| ULTIMATE.start_main_p5) 1) (= 1 (select |v_#memory_int_288| ULTIMATE.start_main_p1)))) [2018-12-19 21:26:58,203 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:26:58,326 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19202#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:58,328 INFO L273 TraceCheckUtils]: 1: Hoare triple {19202#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19206#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:58,330 INFO L273 TraceCheckUtils]: 2: Hoare triple {19206#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19210#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:58,332 INFO L273 TraceCheckUtils]: 3: Hoare triple {19210#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {19214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:26:58,339 INFO L273 TraceCheckUtils]: 4: Hoare triple {19214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19218#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:26:58,339 INFO L273 TraceCheckUtils]: 5: Hoare triple {19218#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2018-12-19 21:26:58,340 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:26:58,340 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:26:58,447 INFO L273 TraceCheckUtils]: 5: Hoare triple {19222#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2018-12-19 21:26:58,448 INFO L273 TraceCheckUtils]: 4: Hoare triple {19226#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19222#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:58,450 INFO L273 TraceCheckUtils]: 3: Hoare triple {19230#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {19226#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:58,451 INFO L273 TraceCheckUtils]: 2: Hoare triple {19234#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19230#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:58,454 INFO L273 TraceCheckUtils]: 1: Hoare triple {19238#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19234#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:58,456 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19238#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:26:58,457 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:26:58,476 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:26:58,476 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-19 21:26:58,476 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:26:58,476 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:26:58,477 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:26:58,477 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:26:58,503 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:26:58,503 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:26:58,503 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:26:58,504 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:26:58,504 INFO L87 Difference]: Start difference. First operand 80 states and 380 transitions. Second operand 12 states. [2018-12-19 21:27:05,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:05,505 INFO L93 Difference]: Finished difference Result 137 states and 479 transitions. [2018-12-19 21:27:05,505 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:27:05,505 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:27:05,505 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:27:05,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:27:05,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2018-12-19 21:27:05,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:27:05,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2018-12-19 21:27:05,506 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2018-12-19 21:27:05,722 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:27:05,725 INFO L225 Difference]: With dead ends: 137 [2018-12-19 21:27:05,725 INFO L226 Difference]: Without dead ends: 135 [2018-12-19 21:27:05,726 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:27:05,726 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2018-12-19 21:27:08,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 77. [2018-12-19 21:27:08,090 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:27:08,090 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand 77 states. [2018-12-19 21:27:08,090 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 77 states. [2018-12-19 21:27:08,091 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 77 states. [2018-12-19 21:27:08,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:08,094 INFO L93 Difference]: Finished difference Result 135 states and 474 transitions. [2018-12-19 21:27:08,094 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 474 transitions. [2018-12-19 21:27:08,094 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:27:08,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:27:08,095 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 135 states. [2018-12-19 21:27:08,095 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 135 states. [2018-12-19 21:27:08,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:08,098 INFO L93 Difference]: Finished difference Result 135 states and 474 transitions. [2018-12-19 21:27:08,098 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 474 transitions. [2018-12-19 21:27:08,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:27:08,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:27:08,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:27:08,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:27:08,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-19 21:27:08,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 361 transitions. [2018-12-19 21:27:08,102 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 361 transitions. Word has length 6 [2018-12-19 21:27:08,102 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:27:08,102 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 361 transitions. [2018-12-19 21:27:08,102 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:27:08,102 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 361 transitions. [2018-12-19 21:27:08,102 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:27:08,102 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:27:08,102 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:27:08,103 INFO L423 AbstractCegarLoop]: === Iteration 52 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:27:08,103 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:27:08,103 INFO L82 PathProgramCache]: Analyzing trace with hash 906163226, now seen corresponding path program 1 times [2018-12-19 21:27:08,103 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:27:08,104 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:27:08,104 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:27:08,104 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:27:08,104 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:27:08,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:08,854 WARN L181 SmtUtils]: Spent 486.00 ms on a formula simplification. DAG size of input: 29 DAG size of output: 17 [2018-12-19 21:27:09,280 WARN L181 SmtUtils]: Spent 192.00 ms on a formula simplification. DAG size of input: 20 DAG size of output: 13 [2018-12-19 21:27:09,337 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19859#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:27:09,339 INFO L273 TraceCheckUtils]: 1: Hoare triple {19859#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:27:09,340 INFO L273 TraceCheckUtils]: 2: Hoare triple {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:27:09,341 INFO L273 TraceCheckUtils]: 3: Hoare triple {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19861#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:27:09,341 INFO L273 TraceCheckUtils]: 4: Hoare triple {19861#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:09,342 INFO L273 TraceCheckUtils]: 5: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2018-12-19 21:27:09,342 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:27:09,342 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:27:09,343 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:27:09,343 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:27:09,343 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [20], [24], [25] [2018-12-19 21:27:09,344 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:27:09,344 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:27:09,357 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:27:09,357 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:27:09,358 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:27:09,358 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:27:09,358 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:27:09,358 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 50 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 50 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:27:09,368 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:27:09,368 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:27:09,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:09,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:09,377 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:27:09,402 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:27:09,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,410 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:27:09,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,420 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,421 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:27:09,435 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,436 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,438 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,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, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:27:09,455 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,456 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,458 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,460 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:27:09,466 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:09,494 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:09,517 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:09,529 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:09,540 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:09,563 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:27:09,564 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:27:09,575 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:09,575 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_293|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_293| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:27:09,575 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:27:09,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,630 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,631 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,635 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,636 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,639 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:09,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:27:09,647 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:09,695 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:27:09,696 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:11,724 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:11,725 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_294|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_294| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_294| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:27:11,725 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:27:11,804 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,806 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,807 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,810 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,811 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,813 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,814 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,816 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,818 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:11,820 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:27:11,821 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:27:11,824 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:11,877 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:27:11,877 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:11,933 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:11,934 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_295|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_295| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_295| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_295| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_295| ULTIMATE.start_main_p4) 0) (= 1 (select |v_#memory_int_295| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (= 0 (select |v_#memory_int_295| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:27:11,934 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:12,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,012 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,013 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,014 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,015 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,017 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,019 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,020 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,021 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:12,022 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:27:12,026 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:12,082 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:27:12,082 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:12,110 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:12,110 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_296|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_296| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_296| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_296| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_296| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_296| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_296| ULTIMATE.start_main_p4) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:27:12,110 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:12,183 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19866#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:27:12,186 INFO L273 TraceCheckUtils]: 1: Hoare triple {19866#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19870#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:27:12,188 INFO L273 TraceCheckUtils]: 2: Hoare triple {19870#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19874#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:27:12,193 INFO L273 TraceCheckUtils]: 3: Hoare triple {19874#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:27:12,194 INFO L273 TraceCheckUtils]: 4: Hoare triple {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:27:12,195 INFO L273 TraceCheckUtils]: 5: Hoare triple {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2018-12-19 21:27:12,195 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:27:12,195 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:27:12,252 INFO L273 TraceCheckUtils]: 5: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2018-12-19 21:27:12,255 INFO L273 TraceCheckUtils]: 4: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:12,255 INFO L273 TraceCheckUtils]: 3: Hoare triple {19891#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:12,257 INFO L273 TraceCheckUtils]: 2: Hoare triple {19895#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19891#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:27:12,258 INFO L273 TraceCheckUtils]: 1: Hoare triple {19899#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19895#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:27:12,260 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19899#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:27:12,260 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:27:12,281 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:27:12,281 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:27:12,281 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:27:12,281 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:27:12,281 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:27:12,282 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:27:12,310 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:27:12,310 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:27:12,310 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:27:12,311 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:27:12,311 INFO L87 Difference]: Start difference. First operand 77 states and 361 transitions. Second operand 10 states. [2018-12-19 21:27:18,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:18,365 INFO L93 Difference]: Finished difference Result 124 states and 454 transitions. [2018-12-19 21:27:18,365 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:27:18,365 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:27:18,365 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:27:18,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:27:18,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 77 transitions. [2018-12-19 21:27:18,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:27:18,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 77 transitions. [2018-12-19 21:27:18,366 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 77 transitions. [2018-12-19 21:27:18,501 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:27:18,503 INFO L225 Difference]: With dead ends: 124 [2018-12-19 21:27:18,503 INFO L226 Difference]: Without dead ends: 123 [2018-12-19 21:27:18,504 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=91, Invalid=149, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:27:18,504 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2018-12-19 21:27:20,514 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 84. [2018-12-19 21:27:20,514 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:27:20,515 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand 84 states. [2018-12-19 21:27:20,515 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 84 states. [2018-12-19 21:27:20,515 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 84 states. [2018-12-19 21:27:20,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:20,519 INFO L93 Difference]: Finished difference Result 123 states and 452 transitions. [2018-12-19 21:27:20,519 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 452 transitions. [2018-12-19 21:27:20,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:27:20,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:27:20,520 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 123 states. [2018-12-19 21:27:20,520 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 123 states. [2018-12-19 21:27:20,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:20,522 INFO L93 Difference]: Finished difference Result 123 states and 452 transitions. [2018-12-19 21:27:20,523 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 452 transitions. [2018-12-19 21:27:20,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:27:20,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:27:20,523 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:27:20,523 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:27:20,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 84 states. [2018-12-19 21:27:20,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 403 transitions. [2018-12-19 21:27:20,525 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 403 transitions. Word has length 6 [2018-12-19 21:27:20,525 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:27:20,525 INFO L480 AbstractCegarLoop]: Abstraction has 84 states and 403 transitions. [2018-12-19 21:27:20,525 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:27:20,525 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 403 transitions. [2018-12-19 21:27:20,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:27:20,526 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:27:20,526 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:27:20,526 INFO L423 AbstractCegarLoop]: === Iteration 53 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:27:20,526 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:27:20,526 INFO L82 PathProgramCache]: Analyzing trace with hash 906167070, now seen corresponding path program 1 times [2018-12-19 21:27:20,526 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:27:20,527 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:27:20,527 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:27:20,527 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:27:20,527 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:27:20,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:20,781 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {20495#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:27:20,782 INFO L273 TraceCheckUtils]: 1: Hoare triple {20495#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:27:20,783 INFO L273 TraceCheckUtils]: 2: Hoare triple {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:27:20,784 INFO L273 TraceCheckUtils]: 3: Hoare triple {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:20,784 INFO L273 TraceCheckUtils]: 4: Hoare triple {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:20,785 INFO L273 TraceCheckUtils]: 5: Hoare triple {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2018-12-19 21:27:20,785 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:27:20,786 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:27:20,786 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:27:20,786 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:27:20,786 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [20], [24], [25] [2018-12-19 21:27:20,787 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:27:20,788 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:27:20,796 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:27:20,796 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:27:20,797 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:27:20,797 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:27:20,797 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:27:20,797 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 51 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 51 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:27:20,807 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:27:20,808 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:27:20,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:20,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:20,816 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:27:20,849 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:27:20,859 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:20,860 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:27:20,873 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:20,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:20,875 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:27:20,894 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:20,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:20,896 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:20,897 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:27:20,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:20,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:20,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:20,926 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:20,926 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:27:20,932 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:20,963 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:20,981 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:20,995 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:21,008 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:21,033 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:27:21,034 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:27:21,042 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:21,043 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_300|, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_300| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:21,043 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:21,115 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,117 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,120 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,123 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,124 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,126 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,128 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:27:21,134 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:21,184 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:27:21,184 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:21,197 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:21,197 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_301|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_301| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p4)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_301| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:27:21,197 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:27:21,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,278 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,287 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,288 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:27:21,288 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:27:21,295 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:21,344 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:27:21,344 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:21,406 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:21,406 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_302|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_302| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_302| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_302| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_302| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_302| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_302| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:27:21,406 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:21,488 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,489 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,490 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,492 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,494 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,495 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,496 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:21,502 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:27:21,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2018-12-19 21:27:21,509 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:21,563 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:27:21,563 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:23,569 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:23,569 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_303|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_303| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_303| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= 1 (select |v_#memory_int_303| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_303| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_303| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_303| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:27:23,569 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:23,660 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {20501#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:27:23,662 INFO L273 TraceCheckUtils]: 1: Hoare triple {20501#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20505#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:27:23,665 INFO L273 TraceCheckUtils]: 2: Hoare triple {20505#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20509#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:27:23,669 INFO L273 TraceCheckUtils]: 3: Hoare triple {20509#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:27:23,670 INFO L273 TraceCheckUtils]: 4: Hoare triple {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:27:23,671 INFO L273 TraceCheckUtils]: 5: Hoare triple {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2018-12-19 21:27:23,672 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:27:23,672 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:27:23,750 INFO L273 TraceCheckUtils]: 5: Hoare triple {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2018-12-19 21:27:23,751 INFO L273 TraceCheckUtils]: 4: Hoare triple {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:23,752 INFO L273 TraceCheckUtils]: 3: Hoare triple {20527#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:23,753 INFO L273 TraceCheckUtils]: 2: Hoare triple {20531#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20527#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:23,756 INFO L273 TraceCheckUtils]: 1: Hoare triple {20535#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20531#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:23,758 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {20535#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:23,759 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:27:23,779 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:27:23,779 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 11 [2018-12-19 21:27:23,779 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:27:23,780 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-19 21:27:23,780 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:27:23,780 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-12-19 21:27:23,804 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:27:23,805 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-12-19 21:27:23,805 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-12-19 21:27:23,805 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=99, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:27:23,805 INFO L87 Difference]: Start difference. First operand 84 states and 403 transitions. Second operand 9 states. [2018-12-19 21:27:27,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:27,310 INFO L93 Difference]: Finished difference Result 119 states and 475 transitions. [2018-12-19 21:27:27,310 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:27:27,310 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-19 21:27:27,310 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:27:27,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-19 21:27:27,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2018-12-19 21:27:27,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-19 21:27:27,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2018-12-19 21:27:27,311 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 64 transitions. [2018-12-19 21:27:27,423 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:27:27,426 INFO L225 Difference]: With dead ends: 119 [2018-12-19 21:27:27,426 INFO L226 Difference]: Without dead ends: 118 [2018-12-19 21:27:27,426 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:27:27,426 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2018-12-19 21:27:30,249 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 91. [2018-12-19 21:27:30,250 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:27:30,250 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand 91 states. [2018-12-19 21:27:30,250 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand 91 states. [2018-12-19 21:27:30,250 INFO L87 Difference]: Start difference. First operand 118 states. Second operand 91 states. [2018-12-19 21:27:30,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:30,254 INFO L93 Difference]: Finished difference Result 118 states and 473 transitions. [2018-12-19 21:27:30,254 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 473 transitions. [2018-12-19 21:27:30,255 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:27:30,255 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:27:30,255 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 118 states. [2018-12-19 21:27:30,255 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 118 states. [2018-12-19 21:27:30,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:30,257 INFO L93 Difference]: Finished difference Result 118 states and 473 transitions. [2018-12-19 21:27:30,257 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 473 transitions. [2018-12-19 21:27:30,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:27:30,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:27:30,258 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:27:30,258 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:27:30,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-12-19 21:27:30,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 445 transitions. [2018-12-19 21:27:30,260 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 445 transitions. Word has length 6 [2018-12-19 21:27:30,260 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:27:30,260 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 445 transitions. [2018-12-19 21:27:30,260 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-12-19 21:27:30,260 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 445 transitions. [2018-12-19 21:27:30,261 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:27:30,261 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:27:30,261 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:27:30,261 INFO L423 AbstractCegarLoop]: === Iteration 54 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:27:30,261 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:27:30,261 INFO L82 PathProgramCache]: Analyzing trace with hash 906285674, now seen corresponding path program 1 times [2018-12-19 21:27:30,261 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:27:30,262 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:27:30,262 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:27:30,262 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:27:30,262 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:27:30,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:30,490 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:27:30,491 INFO L273 TraceCheckUtils]: 1: Hoare triple {21135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21136#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:27:30,492 INFO L273 TraceCheckUtils]: 2: Hoare triple {21136#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21137#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:27:30,493 INFO L273 TraceCheckUtils]: 3: Hoare triple {21137#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21138#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:27:30,494 INFO L273 TraceCheckUtils]: 4: Hoare triple {21138#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:27:30,495 INFO L273 TraceCheckUtils]: 5: Hoare triple {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2018-12-19 21:27:30,495 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:27:30,495 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:27:30,496 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:27:30,496 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:27:30,496 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [20], [23] [2018-12-19 21:27:30,497 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:27:30,497 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:27:30,505 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:27:30,506 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-19 21:27:30,506 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:27:30,506 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:27:30,506 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:27:30,506 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 52 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 52 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:27:30,517 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:27:30,517 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:27:30,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:30,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:30,533 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:27:30,557 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:27:30,565 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,566 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:27:30,578 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,579 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,579 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:27:30,595 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,597 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,598 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,599 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:27:30,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,625 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:27:30,631 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:30,661 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:30,678 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:30,692 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:30,705 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:30,729 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:27:30,730 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:27:30,740 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:30,740 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_307|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_307| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:30,740 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:30,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,810 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,812 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,813 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,814 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,815 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,818 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,821 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,822 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:30,823 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:27:30,828 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:30,877 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:27:30,877 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:32,009 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:32,009 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_308|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_308| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_308| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p1)) (= .cse0 0) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:27:32,009 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:27:32,082 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,084 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,085 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,086 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,087 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,089 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,090 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,091 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,092 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,094 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,096 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:32,097 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:27:32,103 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:32,154 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:27:32,155 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:34,277 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:34,277 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_309|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_309| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_309| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_309| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_309| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_309| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_309| ULTIMATE.start_main_p3)))) [2018-12-19 21:27:34,277 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:27:34,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,372 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,377 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,381 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,383 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,384 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,388 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,388 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:27:34,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, 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 98 [2018-12-19 21:27:34,395 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:34,454 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:27:34,455 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:27:34,517 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:34,517 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_310|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_310| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_310| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_310| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_310| ULTIMATE.start_main_p4) 0) (= (+ (select |v_#memory_int_310| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_310| ULTIMATE.start_main_p5) 1))) [2018-12-19 21:27:34,517 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:27:34,625 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,630 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,632 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,636 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,637 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,639 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,642 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:34,642 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:27:34,643 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 98 [2018-12-19 21:27:34,649 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:34,706 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:27:34,707 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:27:34,730 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:34,730 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_311|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_311| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_311| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_311| ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_311| ULTIMATE.start_main_p2) 1)) (= |#memory_int| (store |v_#memory_int_311| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (= (select |v_#memory_int_311| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:27:34,730 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:27:34,793 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21143#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:27:34,796 INFO L273 TraceCheckUtils]: 1: Hoare triple {21143#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21147#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:27:34,798 INFO L273 TraceCheckUtils]: 2: Hoare triple {21147#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21151#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:27:34,804 INFO L273 TraceCheckUtils]: 3: Hoare triple {21151#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21155#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:27:34,812 INFO L273 TraceCheckUtils]: 4: Hoare triple {21155#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21159#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:27:34,813 INFO L273 TraceCheckUtils]: 5: Hoare triple {21159#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2018-12-19 21:27:34,813 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:27:34,813 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:27:34,898 INFO L273 TraceCheckUtils]: 5: Hoare triple {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2018-12-19 21:27:34,899 INFO L273 TraceCheckUtils]: 4: Hoare triple {21166#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:27:34,900 INFO L273 TraceCheckUtils]: 3: Hoare triple {21170#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21166#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:27:34,901 INFO L273 TraceCheckUtils]: 2: Hoare triple {21174#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21170#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:27:34,903 INFO L273 TraceCheckUtils]: 1: Hoare triple {21178#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21174#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:27:34,906 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21178#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:27:34,906 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:27:34,926 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:27:34,926 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2018-12-19 21:27:34,926 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:27:34,927 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:27:34,927 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:27:34,927 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:27:34,953 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:27:34,953 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:27:34,954 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:27:34,954 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=143, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:27:34,954 INFO L87 Difference]: Start difference. First operand 91 states and 445 transitions. Second operand 12 states. [2018-12-19 21:27:40,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:40,081 INFO L93 Difference]: Finished difference Result 149 states and 594 transitions. [2018-12-19 21:27:40,081 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:27:40,081 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:27:40,081 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:27:40,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:27:40,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2018-12-19 21:27:40,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:27:40,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2018-12-19 21:27:40,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 88 transitions. [2018-12-19 21:27:40,354 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:27:40,357 INFO L225 Difference]: With dead ends: 149 [2018-12-19 21:27:40,357 INFO L226 Difference]: Without dead ends: 148 [2018-12-19 21:27:40,358 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 86 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=133, Invalid=209, Unknown=0, NotChecked=0, Total=342 [2018-12-19 21:27:40,358 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2018-12-19 21:27:43,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 98. [2018-12-19 21:27:43,379 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:27:43,379 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand 98 states. [2018-12-19 21:27:43,379 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand 98 states. [2018-12-19 21:27:43,380 INFO L87 Difference]: Start difference. First operand 148 states. Second operand 98 states. [2018-12-19 21:27:43,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:43,384 INFO L93 Difference]: Finished difference Result 148 states and 592 transitions. [2018-12-19 21:27:43,384 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 592 transitions. [2018-12-19 21:27:43,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:27:43,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:27:43,384 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 148 states. [2018-12-19 21:27:43,384 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 148 states. [2018-12-19 21:27:43,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:43,387 INFO L93 Difference]: Finished difference Result 148 states and 592 transitions. [2018-12-19 21:27:43,387 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 592 transitions. [2018-12-19 21:27:43,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:27:43,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:27:43,388 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:27:43,388 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:27:43,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-12-19 21:27:43,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 487 transitions. [2018-12-19 21:27:43,390 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 487 transitions. Word has length 6 [2018-12-19 21:27:43,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:27:43,391 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 487 transitions. [2018-12-19 21:27:43,391 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:27:43,391 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 487 transitions. [2018-12-19 21:27:43,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:27:43,391 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:27:43,391 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:27:43,391 INFO L423 AbstractCegarLoop]: === Iteration 55 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:27:43,391 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:27:43,391 INFO L82 PathProgramCache]: Analyzing trace with hash 906286234, now seen corresponding path program 1 times [2018-12-19 21:27:43,392 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:27:43,392 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:27:43,392 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:27:43,392 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:27:43,392 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:27:43,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:43,562 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21900#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:27:43,579 INFO L273 TraceCheckUtils]: 1: Hoare triple {21900#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21901#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:27:43,588 INFO L273 TraceCheckUtils]: 2: Hoare triple {21901#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21902#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:27:43,602 INFO L273 TraceCheckUtils]: 3: Hoare triple {21902#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:27:43,610 INFO L273 TraceCheckUtils]: 4: Hoare triple {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:27:43,626 INFO L273 TraceCheckUtils]: 5: Hoare triple {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2018-12-19 21:27:43,626 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:27:43,626 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:27:43,627 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:27:43,627 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:27:43,627 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [20], [24], [25] [2018-12-19 21:27:43,628 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:27:43,628 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:27:43,647 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:27:43,647 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:27:43,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:27:43,647 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:27:43,647 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:27:43,647 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 53 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 53 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:27:43,660 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:27:43,660 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:27:43,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:43,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:43,673 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:27:43,704 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:27:43,716 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:27:43,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,729 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:27:43,746 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,748 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,749 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:27:43,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,773 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,775 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,776 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:27:43,781 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:43,804 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:43,818 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:43,829 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:43,841 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:43,864 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:27:43,865 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-19 21:27:43,872 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:43,873 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_316|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_316| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2018-12-19 21:27:43,873 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:43,946 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,947 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,948 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,950 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,951 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,952 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,953 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:43,954 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:27:43,959 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:43,989 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:27:43,990 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-19 21:27:45,998 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:45,999 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_317|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_317| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_317| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_317| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_317| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_317| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:27:45,999 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:46,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,068 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,072 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,077 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,077 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 65 [2018-12-19 21:27:46,082 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:46,119 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:27:46,119 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-19 21:27:46,128 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:46,128 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_318|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_318| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_318| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 1 (select |v_#memory_int_318| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_318| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_318| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:27:46,128 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:46,191 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,192 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,193 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,195 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,196 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,197 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,198 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,199 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,200 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,201 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:46,202 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:27:46,203 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 77 [2018-12-19 21:27:46,208 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:46,249 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:27:46,250 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-19 21:27:46,260 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:46,260 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_319|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_319| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_319| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (= (store |v_#memory_int_319| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_319| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_319| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:27:46,261 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:27:46,321 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21907#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:27:46,323 INFO L273 TraceCheckUtils]: 1: Hoare triple {21907#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21911#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:27:46,325 INFO L273 TraceCheckUtils]: 2: Hoare triple {21911#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21915#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:27:46,327 INFO L273 TraceCheckUtils]: 3: Hoare triple {21915#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:27:46,328 INFO L273 TraceCheckUtils]: 4: Hoare triple {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:27:46,329 INFO L273 TraceCheckUtils]: 5: Hoare triple {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2018-12-19 21:27:46,330 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:27:46,330 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:27:46,401 INFO L273 TraceCheckUtils]: 5: Hoare triple {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2018-12-19 21:27:46,420 INFO L273 TraceCheckUtils]: 4: Hoare triple {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:46,433 INFO L273 TraceCheckUtils]: 3: Hoare triple {21933#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:46,439 INFO L273 TraceCheckUtils]: 2: Hoare triple {21937#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21933#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:46,440 INFO L273 TraceCheckUtils]: 1: Hoare triple {21941#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21937#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:46,441 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21941#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:27:46,442 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:27:46,461 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:27:46,461 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:27:46,461 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:27:46,461 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:27:46,461 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:27:46,461 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:27:46,511 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:27:46,511 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:27:46,512 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:27:46,512 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=112, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:27:46,512 INFO L87 Difference]: Start difference. First operand 98 states and 487 transitions. Second operand 10 states. [2018-12-19 21:27:51,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:51,181 INFO L93 Difference]: Finished difference Result 139 states and 554 transitions. [2018-12-19 21:27:51,181 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:27:51,181 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:27:51,181 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:27:51,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:27:51,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2018-12-19 21:27:51,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:27:51,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2018-12-19 21:27:51,183 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2018-12-19 21:27:51,300 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:27:51,303 INFO L225 Difference]: With dead ends: 139 [2018-12-19 21:27:51,303 INFO L226 Difference]: Without dead ends: 138 [2018-12-19 21:27:51,304 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:27:51,304 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2018-12-19 21:27:54,546 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 101. [2018-12-19 21:27:54,546 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:27:54,546 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand 101 states. [2018-12-19 21:27:54,546 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 101 states. [2018-12-19 21:27:54,547 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 101 states. [2018-12-19 21:27:54,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:54,550 INFO L93 Difference]: Finished difference Result 138 states and 552 transitions. [2018-12-19 21:27:54,550 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 552 transitions. [2018-12-19 21:27:54,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:27:54,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:27:54,551 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 138 states. [2018-12-19 21:27:54,551 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 138 states. [2018-12-19 21:27:54,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:27:54,554 INFO L93 Difference]: Finished difference Result 138 states and 552 transitions. [2018-12-19 21:27:54,554 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 552 transitions. [2018-12-19 21:27:54,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:27:54,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:27:54,554 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:27:54,554 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:27:54,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 101 states. [2018-12-19 21:27:54,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 505 transitions. [2018-12-19 21:27:54,558 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 505 transitions. Word has length 6 [2018-12-19 21:27:54,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:27:54,558 INFO L480 AbstractCegarLoop]: Abstraction has 101 states and 505 transitions. [2018-12-19 21:27:54,558 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:27:54,558 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 505 transitions. [2018-12-19 21:27:54,558 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:27:54,558 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:27:54,558 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:27:54,558 INFO L423 AbstractCegarLoop]: === Iteration 56 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:27:54,558 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:27:54,559 INFO L82 PathProgramCache]: Analyzing trace with hash 906397274, now seen corresponding path program 2 times [2018-12-19 21:27:54,559 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:27:54,559 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:27:54,559 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:27:54,559 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:27:54,560 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:27:54,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:54,823 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {22631#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:27:54,825 INFO L273 TraceCheckUtils]: 1: Hoare triple {22631#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22632#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:27:54,826 INFO L273 TraceCheckUtils]: 2: Hoare triple {22632#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22633#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:27:54,827 INFO L273 TraceCheckUtils]: 3: Hoare triple {22633#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22634#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:27:54,828 INFO L273 TraceCheckUtils]: 4: Hoare triple {22634#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22635#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:27:54,828 INFO L273 TraceCheckUtils]: 5: Hoare triple {22635#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2018-12-19 21:27:54,829 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:27:54,829 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:27:54,829 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:27:54,829 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:27:54,830 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:27:54,830 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:27:54,830 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 54 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 54 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:27:54,842 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:27:54,842 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:27:54,848 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:27:54,848 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:27:54,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:27:54,854 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:27:54,890 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:27:54,905 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:54,906 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:27:54,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:54,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:54,923 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:27:54,941 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:54,943 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:54,944 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:54,945 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:27:54,969 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:54,971 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:54,972 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:54,973 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:54,974 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:27:54,980 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:55,013 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:55,031 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:55,046 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:55,059 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:27:55,084 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:27:55,085 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:27:55,092 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:55,092 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_323|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_323| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:55,093 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:27:55,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,183 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,184 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,185 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,186 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:27:55,192 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:55,242 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:27:55,243 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:55,254 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:55,254 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_324|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_324| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_324| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p4)) (= 0 .cse0) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_324| ULTIMATE.start_main_p5 (+ .cse0 1))))) [2018-12-19 21:27:55,255 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:27:55,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,341 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,342 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,344 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,345 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,346 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,348 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,349 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,351 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,352 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,353 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,354 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,355 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:27:55,356 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:27:55,362 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:55,418 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:27:55,418 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:55,460 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:55,460 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_325|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_325| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= |#memory_int| (store |v_#memory_int_325| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_325| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_325| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_325| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_325| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:27:55,460 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:27:55,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,558 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,559 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,561 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,562 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,564 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,565 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,566 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,568 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,569 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,570 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,571 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:27:55,572 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:27:55,577 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:55,631 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:27:55,631 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:55,640 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:55,641 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_326|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_326| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_326| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_326| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_326| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_326| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_326| ULTIMATE.start_main_p5) 1))) [2018-12-19 21:27:55,641 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:27:55,731 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,733 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,736 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,737 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,738 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,740 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,742 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,744 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,746 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,747 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:27:55,748 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:27:55,755 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:27:55,810 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:27:55,811 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:27:57,894 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:27:57,895 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_327|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_327| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_327| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_327| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_327| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_327| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_327| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:27:57,895 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:27:58,006 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {22639#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:27:58,008 INFO L273 TraceCheckUtils]: 1: Hoare triple {22639#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:27:58,011 INFO L273 TraceCheckUtils]: 2: Hoare triple {22643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:27:58,014 INFO L273 TraceCheckUtils]: 3: Hoare triple {22647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:27:58,021 INFO L273 TraceCheckUtils]: 4: Hoare triple {22651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22655#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:27:58,022 INFO L273 TraceCheckUtils]: 5: Hoare triple {22655#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2018-12-19 21:27:58,022 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:27:58,022 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:27:58,129 INFO L273 TraceCheckUtils]: 5: Hoare triple {22659#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2018-12-19 21:27:58,131 INFO L273 TraceCheckUtils]: 4: Hoare triple {22663#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22659#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:27:58,132 INFO L273 TraceCheckUtils]: 3: Hoare triple {22667#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22663#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:27:58,134 INFO L273 TraceCheckUtils]: 2: Hoare triple {22671#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22667#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:27:58,136 INFO L273 TraceCheckUtils]: 1: Hoare triple {22675#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22671#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:27:58,138 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {22675#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:27:58,139 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:27:58,158 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:27:58,158 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-19 21:27:58,158 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:27:58,158 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:27:58,158 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:27:58,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:27:58,186 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:27:58,186 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:27:58,187 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:27:58,187 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=104, Invalid=168, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:27:58,187 INFO L87 Difference]: Start difference. First operand 101 states and 505 transitions. Second operand 12 states. [2018-12-19 21:28:03,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:03,970 INFO L93 Difference]: Finished difference Result 164 states and 623 transitions. [2018-12-19 21:28:03,970 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:28:03,970 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:28:03,970 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:28:03,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:28:03,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 93 transitions. [2018-12-19 21:28:03,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:28:03,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 93 transitions. [2018-12-19 21:28:03,971 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 93 transitions. [2018-12-19 21:28:04,189 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:28:04,193 INFO L225 Difference]: With dead ends: 164 [2018-12-19 21:28:04,193 INFO L226 Difference]: Without dead ends: 163 [2018-12-19 21:28:04,193 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=136, Invalid=244, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:28:04,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2018-12-19 21:28:07,128 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 100. [2018-12-19 21:28:07,128 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:28:07,129 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand 100 states. [2018-12-19 21:28:07,129 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 100 states. [2018-12-19 21:28:07,129 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 100 states. [2018-12-19 21:28:07,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:07,134 INFO L93 Difference]: Finished difference Result 163 states and 621 transitions. [2018-12-19 21:28:07,134 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 621 transitions. [2018-12-19 21:28:07,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:28:07,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:28:07,134 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 163 states. [2018-12-19 21:28:07,134 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 163 states. [2018-12-19 21:28:07,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:07,138 INFO L93 Difference]: Finished difference Result 163 states and 621 transitions. [2018-12-19 21:28:07,138 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 621 transitions. [2018-12-19 21:28:07,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:28:07,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:28:07,138 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:28:07,138 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:28:07,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2018-12-19 21:28:07,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 499 transitions. [2018-12-19 21:28:07,141 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 499 transitions. Word has length 6 [2018-12-19 21:28:07,141 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:28:07,141 INFO L480 AbstractCegarLoop]: Abstraction has 100 states and 499 transitions. [2018-12-19 21:28:07,141 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:28:07,141 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 499 transitions. [2018-12-19 21:28:07,141 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:28:07,141 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:28:07,141 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:28:07,141 INFO L423 AbstractCegarLoop]: === Iteration 57 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:28:07,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:28:07,142 INFO L82 PathProgramCache]: Analyzing trace with hash 893366614, now seen corresponding path program 1 times [2018-12-19 21:28:07,142 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:28:07,142 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:28:07,142 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:28:07,142 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:28:07,142 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:28:07,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:07,312 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:28:07,313 INFO L273 TraceCheckUtils]: 1: Hoare triple {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:28:07,314 INFO L273 TraceCheckUtils]: 2: Hoare triple {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:28:07,315 INFO L273 TraceCheckUtils]: 3: Hoare triple {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:28:07,316 INFO L273 TraceCheckUtils]: 4: Hoare triple {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {23451#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:28:07,316 INFO L273 TraceCheckUtils]: 5: Hoare triple {23451#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2018-12-19 21:28:07,317 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:28:07,317 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:28:07,317 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:28:07,317 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:28:07,317 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [24], [26], [27] [2018-12-19 21:28:07,320 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:28:07,320 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:28:07,328 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:28:07,328 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:28:07,329 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:28:07,329 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:28:07,329 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:28:07,329 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 55 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 55 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:28:07,340 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:28:07,341 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:28:07,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:07,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:07,351 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:28:07,377 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:28:07,383 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,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, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:28:07,393 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,394 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,395 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:28:07,408 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,411 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,411 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:28:07,428 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,430 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,431 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,433 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,433 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:28:07,436 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:07,466 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:07,481 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:07,494 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:07,503 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:07,525 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:28:07,525 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:28:07,532 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:07,532 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_332|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_332| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:07,533 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:07,585 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,586 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,588 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,589 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,590 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,592 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,593 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,594 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,596 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,597 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,598 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,599 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:28:07,603 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:07,650 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:28:07,651 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:28:07,701 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:07,702 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_333|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_333| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_333| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (= (select |v_#memory_int_333| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:28:07,702 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:07,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,758 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,761 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:07,769 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:28:07,772 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:07,825 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:28:07,825 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:28:09,086 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:09,086 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_334|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_334| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_334| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_334| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_334| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_334| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_334| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:28:09,087 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:09,172 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {23455#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:28:09,174 INFO L273 TraceCheckUtils]: 1: Hoare triple {23455#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23459#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:09,176 INFO L273 TraceCheckUtils]: 2: Hoare triple {23459#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:28:09,177 INFO L273 TraceCheckUtils]: 3: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:28:09,178 INFO L273 TraceCheckUtils]: 4: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:28:09,179 INFO L273 TraceCheckUtils]: 5: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2018-12-19 21:28:09,179 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:28:09,179 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:28:09,218 INFO L273 TraceCheckUtils]: 5: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2018-12-19 21:28:09,218 INFO L273 TraceCheckUtils]: 4: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:09,218 INFO L273 TraceCheckUtils]: 3: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:09,219 INFO L273 TraceCheckUtils]: 2: Hoare triple {23483#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:09,221 INFO L273 TraceCheckUtils]: 1: Hoare triple {23487#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23483#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:09,223 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {23487#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:09,223 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:28:09,243 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:28:09,243 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:28:09,243 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:28:09,244 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:28:09,244 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:28:09,244 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:28:09,263 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:28:09,264 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:28:09,264 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:28:09,264 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:28:09,264 INFO L87 Difference]: Start difference. First operand 100 states and 499 transitions. Second operand 8 states. [2018-12-19 21:28:13,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:13,030 INFO L93 Difference]: Finished difference Result 122 states and 529 transitions. [2018-12-19 21:28:13,031 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:28:13,031 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:28:13,031 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:28:13,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:28:13,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-19 21:28:13,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:28:13,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-19 21:28:13,032 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2018-12-19 21:28:13,109 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:28:13,112 INFO L225 Difference]: With dead ends: 122 [2018-12-19 21:28:13,112 INFO L226 Difference]: Without dead ends: 121 [2018-12-19 21:28:13,112 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:28:13,112 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2018-12-19 21:28:16,591 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 102. [2018-12-19 21:28:16,591 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:28:16,591 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 102 states. [2018-12-19 21:28:16,591 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 102 states. [2018-12-19 21:28:16,592 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 102 states. [2018-12-19 21:28:16,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:16,596 INFO L93 Difference]: Finished difference Result 121 states and 527 transitions. [2018-12-19 21:28:16,596 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 527 transitions. [2018-12-19 21:28:16,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:28:16,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:28:16,596 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 121 states. [2018-12-19 21:28:16,596 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 121 states. [2018-12-19 21:28:16,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:16,599 INFO L93 Difference]: Finished difference Result 121 states and 527 transitions. [2018-12-19 21:28:16,599 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 527 transitions. [2018-12-19 21:28:16,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:28:16,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:28:16,599 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:28:16,599 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:28:16,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2018-12-19 21:28:16,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 511 transitions. [2018-12-19 21:28:16,602 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 511 transitions. Word has length 6 [2018-12-19 21:28:16,602 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:28:16,602 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 511 transitions. [2018-12-19 21:28:16,602 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:28:16,602 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 511 transitions. [2018-12-19 21:28:16,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:28:16,602 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:28:16,602 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:28:16,603 INFO L423 AbstractCegarLoop]: === Iteration 58 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:28:16,603 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:28:16,603 INFO L82 PathProgramCache]: Analyzing trace with hash 893472260, now seen corresponding path program 1 times [2018-12-19 21:28:16,603 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:28:16,603 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:28:16,603 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:28:16,603 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:28:16,604 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:28:16,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:16,768 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:28:16,769 INFO L273 TraceCheckUtils]: 1: Hoare triple {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:28:16,770 INFO L273 TraceCheckUtils]: 2: Hoare triple {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24127#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:28:16,771 INFO L273 TraceCheckUtils]: 3: Hoare triple {24127#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24128#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:28:16,771 INFO L273 TraceCheckUtils]: 4: Hoare triple {24128#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:28:16,772 INFO L273 TraceCheckUtils]: 5: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2018-12-19 21:28:16,772 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:28:16,772 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:28:16,772 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:28:16,773 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:28:16,773 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [24], [25] [2018-12-19 21:28:16,774 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:28:16,774 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:28:16,783 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:28:16,783 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:28:16,783 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:28:16,783 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:28:16,783 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:28:16,784 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 56 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 56 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:28:16,793 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:28:16,794 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:28:16,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:16,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:16,802 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:28:16,830 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:28:16,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:16,838 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:28:16,848 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:16,850 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:16,850 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:28:16,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:16,865 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:16,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:16,867 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:28:16,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:16,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:16,887 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:16,888 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:16,889 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:28:16,892 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:16,922 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:16,938 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:16,951 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:16,962 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:16,986 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:28:16,986 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:28:16,994 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:16,994 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_337|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_337| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:16,994 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:17,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:17,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:17,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:17,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:17,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:17,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:17,056 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:17,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:17,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:17,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:17,061 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:17,062 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:28:17,065 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:17,113 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:28:17,113 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:28:18,893 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:18,893 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_338|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_338| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_338| ULTIMATE.start_main_p5)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_338| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_338| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_338| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_338| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:28:18,893 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:18,994 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:18,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:18,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:19,000 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:19,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:19,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:19,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:19,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:19,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:19,012 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:19,014 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:19,016 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:19,018 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:28:19,018 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:28:19,021 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:19,090 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:28:19,090 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:28:21,121 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:21,121 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_339|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_339| ULTIMATE.start_main_p3))) (and (= 1 (select |v_#memory_int_339| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_339| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_339| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_339| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_339| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:28:21,121 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:21,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,207 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,207 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,210 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,212 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,215 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,216 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,217 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,219 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,220 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:21,221 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:28:21,225 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:21,278 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:28:21,279 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-19 21:28:21,316 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:21,316 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_340|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_340| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_340| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_340| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:28:21,316 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:21,390 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24133#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:28:21,392 INFO L273 TraceCheckUtils]: 1: Hoare triple {24133#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24137#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:21,396 INFO L273 TraceCheckUtils]: 2: Hoare triple {24137#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24141#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:28:21,400 INFO L273 TraceCheckUtils]: 3: Hoare triple {24141#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:28:21,400 INFO L273 TraceCheckUtils]: 4: Hoare triple {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:28:21,401 INFO L273 TraceCheckUtils]: 5: Hoare triple {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2018-12-19 21:28:21,401 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:28:21,402 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:28:21,450 INFO L273 TraceCheckUtils]: 5: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2018-12-19 21:28:21,451 INFO L273 TraceCheckUtils]: 4: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:28:21,451 INFO L273 TraceCheckUtils]: 3: Hoare triple {24158#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:28:21,452 INFO L273 TraceCheckUtils]: 2: Hoare triple {24162#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24158#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:28:21,454 INFO L273 TraceCheckUtils]: 1: Hoare triple {24166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24162#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:28:21,456 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:28:21,456 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:28:21,477 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:28:21,477 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:28:21,477 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:28:21,477 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:28:21,477 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:28:21,477 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:28:21,498 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:28:21,498 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:28:21,498 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:28:21,498 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:28:21,499 INFO L87 Difference]: Start difference. First operand 102 states and 511 transitions. Second operand 10 states. [2018-12-19 21:28:26,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:26,340 INFO L93 Difference]: Finished difference Result 154 states and 624 transitions. [2018-12-19 21:28:26,340 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:28:26,340 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:28:26,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:28:26,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:28:26,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-12-19 21:28:26,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:28:26,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-12-19 21:28:26,341 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 79 transitions. [2018-12-19 21:28:26,473 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:28:26,476 INFO L225 Difference]: With dead ends: 154 [2018-12-19 21:28:26,476 INFO L226 Difference]: Without dead ends: 153 [2018-12-19 21:28:26,477 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:28:26,477 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2018-12-19 21:28:30,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 111. [2018-12-19 21:28:30,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:28:30,060 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand 111 states. [2018-12-19 21:28:30,061 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand 111 states. [2018-12-19 21:28:30,061 INFO L87 Difference]: Start difference. First operand 153 states. Second operand 111 states. [2018-12-19 21:28:30,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:30,065 INFO L93 Difference]: Finished difference Result 153 states and 622 transitions. [2018-12-19 21:28:30,065 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 622 transitions. [2018-12-19 21:28:30,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:28:30,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:28:30,065 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 153 states. [2018-12-19 21:28:30,065 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 153 states. [2018-12-19 21:28:30,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:30,069 INFO L93 Difference]: Finished difference Result 153 states and 622 transitions. [2018-12-19 21:28:30,069 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 622 transitions. [2018-12-19 21:28:30,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:28:30,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:28:30,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:28:30,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:28:30,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-12-19 21:28:30,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 566 transitions. [2018-12-19 21:28:30,073 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 566 transitions. Word has length 6 [2018-12-19 21:28:30,073 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:28:30,073 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 566 transitions. [2018-12-19 21:28:30,073 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:28:30,073 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 566 transitions. [2018-12-19 21:28:30,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:28:30,073 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:28:30,073 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:28:30,073 INFO L423 AbstractCegarLoop]: === Iteration 59 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:28:30,074 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:28:30,074 INFO L82 PathProgramCache]: Analyzing trace with hash 897358608, now seen corresponding path program 1 times [2018-12-19 21:28:30,074 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:28:30,074 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:28:30,074 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:28:30,074 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:28:30,074 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:28:30,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:30,292 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:28:30,293 INFO L273 TraceCheckUtils]: 1: Hoare triple {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:28:30,294 INFO L273 TraceCheckUtils]: 2: Hoare triple {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:28:30,295 INFO L273 TraceCheckUtils]: 3: Hoare triple {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:28:30,295 INFO L273 TraceCheckUtils]: 4: Hoare triple {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {24936#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:28:30,296 INFO L273 TraceCheckUtils]: 5: Hoare triple {24936#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2018-12-19 21:28:30,296 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:28:30,296 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:28:30,296 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:28:30,297 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:28:30,297 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [24], [26], [27] [2018-12-19 21:28:30,297 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:28:30,298 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:28:30,311 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:28:30,312 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:28:30,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:28:30,312 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:28:30,312 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:28:30,312 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 57 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 57 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:28:30,322 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:28:30,323 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:28:30,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:30,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:30,335 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:28:30,358 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:28:30,368 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:28:30,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,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, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:28:30,398 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,399 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,400 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:28:30,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,424 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,425 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,426 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:28:30,432 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:30,454 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:30,469 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:30,481 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:30,494 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:30,516 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:28:30,517 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-19 21:28:30,529 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:30,529 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_344|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_344| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:30,529 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:30,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,614 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:28:30,619 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:30,652 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:28:30,653 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-19 21:28:30,690 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:30,690 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_345|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_345| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_345| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_345| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_345| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_345| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:28:30,691 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:28:30,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,761 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:30,768 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-19 21:28:30,773 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:30,810 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:28:30,810 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-19 21:28:30,830 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:30,830 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_346|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_346| ULTIMATE.start_main_p5))) (and (= |#memory_int| (store |v_#memory_int_346| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_346| ULTIMATE.start_main_p4) 0) (= 0 (+ (select |v_#memory_int_346| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_346| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2018-12-19 21:28:30,830 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:28:30,936 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24940#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:30,938 INFO L273 TraceCheckUtils]: 1: Hoare triple {24940#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24944#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:28:30,940 INFO L273 TraceCheckUtils]: 2: Hoare triple {24944#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:28:30,941 INFO L273 TraceCheckUtils]: 3: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:28:30,941 INFO L273 TraceCheckUtils]: 4: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p2] <= 0; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:28:30,942 INFO L273 TraceCheckUtils]: 5: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2018-12-19 21:28:30,942 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:28:30,942 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:28:30,997 INFO L273 TraceCheckUtils]: 5: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2018-12-19 21:28:30,997 INFO L273 TraceCheckUtils]: 4: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:30,998 INFO L273 TraceCheckUtils]: 3: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:30,999 INFO L273 TraceCheckUtils]: 2: Hoare triple {24968#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:31,000 INFO L273 TraceCheckUtils]: 1: Hoare triple {24972#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24968#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:31,002 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24972#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:28:31,003 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:28:31,023 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:28:31,023 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:28:31,023 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:28:31,023 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:28:31,023 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:28:31,023 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:28:31,042 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:28:31,042 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:28:31,043 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:28:31,043 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:28:31,043 INFO L87 Difference]: Start difference. First operand 111 states and 566 transitions. Second operand 8 states. [2018-12-19 21:28:35,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:35,319 INFO L93 Difference]: Finished difference Result 130 states and 583 transitions. [2018-12-19 21:28:35,319 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:28:35,319 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:28:35,319 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:28:35,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:28:35,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2018-12-19 21:28:35,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:28:35,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2018-12-19 21:28:35,320 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 53 transitions. [2018-12-19 21:28:35,395 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:28:35,398 INFO L225 Difference]: With dead ends: 130 [2018-12-19 21:28:35,399 INFO L226 Difference]: Without dead ends: 129 [2018-12-19 21:28:35,399 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:28:35,399 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2018-12-19 21:28:38,915 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 111. [2018-12-19 21:28:38,915 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:28:38,916 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand 111 states. [2018-12-19 21:28:38,916 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand 111 states. [2018-12-19 21:28:38,916 INFO L87 Difference]: Start difference. First operand 129 states. Second operand 111 states. [2018-12-19 21:28:38,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:38,920 INFO L93 Difference]: Finished difference Result 129 states and 581 transitions. [2018-12-19 21:28:38,920 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 581 transitions. [2018-12-19 21:28:38,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:28:38,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:28:38,921 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 129 states. [2018-12-19 21:28:38,921 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 129 states. [2018-12-19 21:28:38,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:38,924 INFO L93 Difference]: Finished difference Result 129 states and 581 transitions. [2018-12-19 21:28:38,924 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 581 transitions. [2018-12-19 21:28:38,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:28:38,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:28:38,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:28:38,924 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:28:38,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-12-19 21:28:38,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 566 transitions. [2018-12-19 21:28:38,927 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 566 transitions. Word has length 6 [2018-12-19 21:28:38,927 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:28:38,927 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 566 transitions. [2018-12-19 21:28:38,927 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:28:38,928 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 566 transitions. [2018-12-19 21:28:38,928 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:28:38,928 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:28:38,928 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:28:38,928 INFO L423 AbstractCegarLoop]: === Iteration 60 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:28:38,928 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:28:38,928 INFO L82 PathProgramCache]: Analyzing trace with hash 896931860, now seen corresponding path program 2 times [2018-12-19 21:28:38,928 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:28:38,929 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:28:38,929 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:28:38,929 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:28:38,929 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:28:38,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:39,634 WARN L181 SmtUtils]: Spent 456.00 ms on a formula simplification. DAG size of input: 24 DAG size of output: 13 [2018-12-19 21:28:39,817 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {25662#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:28:39,818 INFO L273 TraceCheckUtils]: 1: Hoare triple {25662#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:28:39,819 INFO L273 TraceCheckUtils]: 2: Hoare triple {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:28:39,820 INFO L273 TraceCheckUtils]: 3: Hoare triple {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:28:39,821 INFO L273 TraceCheckUtils]: 4: Hoare triple {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:28:39,821 INFO L273 TraceCheckUtils]: 5: Hoare triple {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2018-12-19 21:28:39,822 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:28:39,822 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:28:39,822 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:28:39,822 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:28:39,823 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:28:39,823 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:28:39,823 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 58 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 58 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:28:39,831 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:28:39,832 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:28:39,838 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:28:39,838 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:28:39,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:39,841 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:28:39,860 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:28:39,867 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:39,868 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:28:39,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:39,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:39,881 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:28:39,896 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:39,897 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:39,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:39,900 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:28:39,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:39,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:39,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:39,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:39,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, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:28:39,925 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:39,956 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:39,973 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:39,986 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:39,998 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:40,020 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:28:40,020 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-19 21:28:40,027 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:40,028 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_349|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_349| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2018-12-19 21:28:40,028 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:40,088 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,089 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,091 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,092 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,094 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,096 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,099 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,100 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,101 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:28:40,105 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:40,154 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:28:40,154 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:28:40,164 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:40,164 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_350|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_350| ULTIMATE.start_main_p2))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_350| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_350| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_350| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_350| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_350| ULTIMATE.start_main_p5) 0))) [2018-12-19 21:28:40,164 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:28:40,271 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,273 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,278 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,286 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:28:40,290 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:40,341 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:28:40,341 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:28:40,356 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:40,356 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_351|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_351| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_351| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_351| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_351| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |v_#memory_int_351| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_351| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:28:40,357 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:28:40,415 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,416 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,418 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,420 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,422 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,423 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,424 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,426 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,427 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,428 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,430 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,431 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,432 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:40,433 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:28:40,434 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 98 [2018-12-19 21:28:40,451 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:40,506 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:28:40,506 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:28:40,724 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:40,724 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_352|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_352| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_352| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_352| ULTIMATE.start_main_p2) 1)) (= 0 .cse0) (= 1 (select |v_#memory_int_352| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_352| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_352| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:28:40,724 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:28:40,790 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {25668#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:28:40,793 INFO L273 TraceCheckUtils]: 1: Hoare triple {25668#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25672#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:28:40,794 INFO L273 TraceCheckUtils]: 2: Hoare triple {25672#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25676#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:28:40,798 INFO L273 TraceCheckUtils]: 3: Hoare triple {25676#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:28:40,799 INFO L273 TraceCheckUtils]: 4: Hoare triple {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:28:40,800 INFO L273 TraceCheckUtils]: 5: Hoare triple {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2018-12-19 21:28:40,800 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:28:40,800 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:28:40,859 INFO L273 TraceCheckUtils]: 5: Hoare triple {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2018-12-19 21:28:40,860 INFO L273 TraceCheckUtils]: 4: Hoare triple {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:28:40,861 INFO L273 TraceCheckUtils]: 3: Hoare triple {25694#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:28:40,862 INFO L273 TraceCheckUtils]: 2: Hoare triple {25698#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25694#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:28:40,864 INFO L273 TraceCheckUtils]: 1: Hoare triple {25702#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25698#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:28:40,866 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {25702#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:28:40,867 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:28:40,887 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:28:40,887 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 11 [2018-12-19 21:28:40,887 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:28:40,888 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-19 21:28:40,888 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:28:40,888 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-12-19 21:28:40,910 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:28:40,910 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-12-19 21:28:40,910 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-12-19 21:28:40,910 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:28:40,911 INFO L87 Difference]: Start difference. First operand 111 states and 566 transitions. Second operand 9 states. [2018-12-19 21:28:45,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:45,988 INFO L93 Difference]: Finished difference Result 160 states and 682 transitions. [2018-12-19 21:28:45,988 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:28:45,988 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-19 21:28:45,988 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:28:45,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-19 21:28:45,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2018-12-19 21:28:45,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-19 21:28:45,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2018-12-19 21:28:45,989 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2018-12-19 21:28:46,115 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:28:46,119 INFO L225 Difference]: With dead ends: 160 [2018-12-19 21:28:46,119 INFO L226 Difference]: Without dead ends: 159 [2018-12-19 21:28:46,119 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=78, Invalid=132, Unknown=0, NotChecked=0, Total=210 [2018-12-19 21:28:46,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2018-12-19 21:28:50,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 117. [2018-12-19 21:28:50,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:28:50,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand 117 states. [2018-12-19 21:28:50,296 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 117 states. [2018-12-19 21:28:50,296 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 117 states. [2018-12-19 21:28:50,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:50,301 INFO L93 Difference]: Finished difference Result 159 states and 680 transitions. [2018-12-19 21:28:50,301 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 680 transitions. [2018-12-19 21:28:50,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:28:50,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:28:50,301 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 159 states. [2018-12-19 21:28:50,302 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 159 states. [2018-12-19 21:28:50,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:50,305 INFO L93 Difference]: Finished difference Result 159 states and 680 transitions. [2018-12-19 21:28:50,305 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 680 transitions. [2018-12-19 21:28:50,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:28:50,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:28:50,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:28:50,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:28:50,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-12-19 21:28:50,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 603 transitions. [2018-12-19 21:28:50,309 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 603 transitions. Word has length 6 [2018-12-19 21:28:50,309 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:28:50,309 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 603 transitions. [2018-12-19 21:28:50,309 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-12-19 21:28:50,309 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 603 transitions. [2018-12-19 21:28:50,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:28:50,309 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:28:50,309 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:28:50,309 INFO L423 AbstractCegarLoop]: === Iteration 61 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:28:50,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:28:50,310 INFO L82 PathProgramCache]: Analyzing trace with hash 897479758, now seen corresponding path program 1 times [2018-12-19 21:28:50,310 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:28:50,310 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:28:50,310 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:28:50,310 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:28:50,311 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:28:50,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:50,741 WARN L181 SmtUtils]: Spent 247.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 13 [2018-12-19 21:28:50,760 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {26508#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:28:50,761 INFO L273 TraceCheckUtils]: 1: Hoare triple {26508#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:28:50,762 INFO L273 TraceCheckUtils]: 2: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:28:50,762 INFO L273 TraceCheckUtils]: 3: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:28:50,763 INFO L273 TraceCheckUtils]: 4: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:28:50,763 INFO L273 TraceCheckUtils]: 5: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2018-12-19 21:28:50,764 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:28:50,764 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:28:50,764 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:28:50,764 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:28:50,764 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [26], [28], [29] [2018-12-19 21:28:50,767 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:28:50,767 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:28:50,787 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:28:50,787 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:28:50,787 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:28:50,788 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:28:50,788 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:28:50,788 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 59 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 59 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:28:50,800 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:28:50,800 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:28:50,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:50,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:28:50,806 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:28:50,822 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:28:50,827 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:28:50,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:50,838 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:28:50,850 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:50,852 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:50,853 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:28:50,871 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:50,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:50,877 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:50,878 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:28:50,881 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:50,902 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:50,914 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:50,925 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:50,936 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:28:50,955 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:28:50,955 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-19 21:28:50,968 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:50,968 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_356|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store (store (store (store (store |v_#memory_int_356| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:28:50,968 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:28:51,026 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:51,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:51,029 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:51,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:51,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:51,032 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:51,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:28:51,035 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:28:51,037 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:28:51,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:28:51,067 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-19 21:28:51,140 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:28:51,141 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_357|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_357| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_357| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_357| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_357| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_357| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:28:51,141 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:28:51,207 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {26513#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:28:51,209 INFO L273 TraceCheckUtils]: 1: Hoare triple {26513#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:28:51,210 INFO L273 TraceCheckUtils]: 2: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p1] >= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:28:51,211 INFO L273 TraceCheckUtils]: 3: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p2] <= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:28:51,212 INFO L273 TraceCheckUtils]: 4: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p3] >= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:28:51,213 INFO L273 TraceCheckUtils]: 5: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2018-12-19 21:28:51,213 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:28:51,213 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:28:51,236 INFO L273 TraceCheckUtils]: 5: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2018-12-19 21:28:51,237 INFO L273 TraceCheckUtils]: 4: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:28:51,237 INFO L273 TraceCheckUtils]: 3: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:28:51,238 INFO L273 TraceCheckUtils]: 2: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:28:51,239 INFO L273 TraceCheckUtils]: 1: Hoare triple {26543#(<= (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:28:51,241 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {26543#(<= (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:28:51,241 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:28:51,260 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-19 21:28:51,261 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2018-12-19 21:28:51,261 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:28:51,261 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 6 [2018-12-19 21:28:51,261 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:28:51,261 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:28:51,268 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:28:51,268 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:28:51,268 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:28:51,268 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:28:51,269 INFO L87 Difference]: Start difference. First operand 117 states and 603 transitions. Second operand 4 states. [2018-12-19 21:28:57,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:28:57,626 INFO L93 Difference]: Finished difference Result 121 states and 607 transitions. [2018-12-19 21:28:57,626 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:28:57,626 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 6 [2018-12-19 21:28:57,626 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:28:57,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:28:57,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-19 21:28:57,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:28:57,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-19 21:28:57,627 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 25 transitions. [2018-12-19 21:28:57,649 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:28:57,652 INFO L225 Difference]: With dead ends: 121 [2018-12-19 21:28:57,652 INFO L226 Difference]: Without dead ends: 117 [2018-12-19 21:28:57,652 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:28:57,653 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2018-12-19 21:29:02,597 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 114. [2018-12-19 21:29:02,598 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:29:02,598 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand 114 states. [2018-12-19 21:29:02,598 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 114 states. [2018-12-19 21:29:02,598 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 114 states. [2018-12-19 21:29:02,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:02,602 INFO L93 Difference]: Finished difference Result 117 states and 602 transitions. [2018-12-19 21:29:02,602 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 602 transitions. [2018-12-19 21:29:02,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:29:02,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:29:02,603 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 117 states. [2018-12-19 21:29:02,603 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 117 states. [2018-12-19 21:29:02,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:02,606 INFO L93 Difference]: Finished difference Result 117 states and 602 transitions. [2018-12-19 21:29:02,606 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 602 transitions. [2018-12-19 21:29:02,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:29:02,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:29:02,606 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:29:02,606 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:29:02,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2018-12-19 21:29:02,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 599 transitions. [2018-12-19 21:29:02,609 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 599 transitions. Word has length 6 [2018-12-19 21:29:02,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:29:02,609 INFO L480 AbstractCegarLoop]: Abstraction has 114 states and 599 transitions. [2018-12-19 21:29:02,609 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:29:02,609 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 599 transitions. [2018-12-19 21:29:02,610 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:29:02,610 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:29:02,610 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:29:02,610 INFO L423 AbstractCegarLoop]: === Iteration 62 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:29:02,610 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:29:02,610 INFO L82 PathProgramCache]: Analyzing trace with hash 897162312, now seen corresponding path program 2 times [2018-12-19 21:29:02,610 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:29:02,611 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:02,611 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:29:02,611 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:02,611 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:29:02,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:02,943 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {27211#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:29:02,945 INFO L273 TraceCheckUtils]: 1: Hoare triple {27211#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27212#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:29:02,946 INFO L273 TraceCheckUtils]: 2: Hoare triple {27212#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:29:02,947 INFO L273 TraceCheckUtils]: 3: Hoare triple {27213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {27214#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:29:02,947 INFO L273 TraceCheckUtils]: 4: Hoare triple {27214#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {27215#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:29:02,948 INFO L273 TraceCheckUtils]: 5: Hoare triple {27215#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2018-12-19 21:29:02,949 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:29:02,949 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:29:02,949 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:29:02,949 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:29:02,949 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:29:02,949 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:29:02,949 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 60 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 60 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:29:02,959 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:29:02,959 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:29:02,966 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:29:02,966 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:29:02,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:02,970 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:29:02,999 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:29:03,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,010 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:29:03,023 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,025 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,025 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:29:03,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,048 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,049 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:29:03,076 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,077 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,078 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,079 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,080 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:29:03,087 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:03,119 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:03,136 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:03,151 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:03,165 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:03,185 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:29:03,186 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:29:03,192 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:03,193 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_359|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_359| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:29:03,193 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:29:03,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,288 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,289 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,290 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:03,296 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:29:03,303 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:03,350 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:29:03,351 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:29:05,411 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:05,411 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_360|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_360| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_360| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_360| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= (select |v_#memory_int_360| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_360| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_360| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:29:05,412 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:29:05,515 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,517 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,519 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,521 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,522 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,523 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,525 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,526 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,527 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,528 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,529 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:05,530 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:29:05,538 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:05,596 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:29:05,596 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:29:07,402 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:07,402 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_361|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_361| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_361| ULTIMATE.start_main_p2) 1)) (= 0 (select |v_#memory_int_361| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_361| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_361| ULTIMATE.start_main_p5)) (= .cse0 0) (= (store |v_#memory_int_361| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:29:07,402 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:29:07,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,502 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,503 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,509 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,515 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,516 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:29:07,517 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 104 [2018-12-19 21:29:07,524 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:07,584 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:29:07,584 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:29:07,598 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:07,598 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_362|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_362| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_362| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_362| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_362| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_362| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_362| ULTIMATE.start_main_p3)))) [2018-12-19 21:29:07,599 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:29:07,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,689 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,695 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,697 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,698 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,782 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,800 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,823 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:07,837 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:29:07,837 INFO L303 Elim1Store]: Index analysis took 153 ms [2018-12-19 21:29:07,838 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 99 [2018-12-19 21:29:07,867 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:07,949 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:29:07,949 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:29:07,965 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:07,966 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_363|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_363| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_363| ULTIMATE.start_main_p3)) (= .cse0 0) (= (store |v_#memory_int_363| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_363| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_363| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_363| ULTIMATE.start_main_p1)))) [2018-12-19 21:29:07,966 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:29:08,028 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {27219#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:29:08,031 INFO L273 TraceCheckUtils]: 1: Hoare triple {27219#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27223#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:29:08,034 INFO L273 TraceCheckUtils]: 2: Hoare triple {27223#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27227#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:29:08,037 INFO L273 TraceCheckUtils]: 3: Hoare triple {27227#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {27231#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:29:08,044 INFO L273 TraceCheckUtils]: 4: Hoare triple {27231#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {27235#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:29:08,045 INFO L273 TraceCheckUtils]: 5: Hoare triple {27235#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2018-12-19 21:29:08,045 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:29:08,046 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:29:08,136 INFO L273 TraceCheckUtils]: 5: Hoare triple {27239#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2018-12-19 21:29:08,137 INFO L273 TraceCheckUtils]: 4: Hoare triple {27243#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {27239#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:29:08,138 INFO L273 TraceCheckUtils]: 3: Hoare triple {27247#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {27243#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:29:08,140 INFO L273 TraceCheckUtils]: 2: Hoare triple {27251#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27247#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:29:08,142 INFO L273 TraceCheckUtils]: 1: Hoare triple {27255#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27251#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:29:08,145 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {27255#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:29:08,145 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:29:08,165 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:29:08,165 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-19 21:29:08,165 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:29:08,166 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:29:08,166 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:29:08,166 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:29:08,192 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:29:08,192 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:29:08,193 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:29:08,193 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:29:08,193 INFO L87 Difference]: Start difference. First operand 114 states and 599 transitions. Second operand 12 states. [2018-12-19 21:29:17,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:17,024 INFO L93 Difference]: Finished difference Result 186 states and 791 transitions. [2018-12-19 21:29:17,024 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:29:17,024 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:29:17,025 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:29:17,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:29:17,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2018-12-19 21:29:17,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:29:17,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2018-12-19 21:29:17,026 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 88 transitions. [2018-12-19 21:29:17,222 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:29:17,226 INFO L225 Difference]: With dead ends: 186 [2018-12-19 21:29:17,227 INFO L226 Difference]: Without dead ends: 184 [2018-12-19 21:29:17,227 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:29:17,227 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2018-12-19 21:29:22,112 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 121. [2018-12-19 21:29:22,113 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:29:22,113 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand 121 states. [2018-12-19 21:29:22,113 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand 121 states. [2018-12-19 21:29:22,113 INFO L87 Difference]: Start difference. First operand 184 states. Second operand 121 states. [2018-12-19 21:29:22,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:22,118 INFO L93 Difference]: Finished difference Result 184 states and 785 transitions. [2018-12-19 21:29:22,118 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 785 transitions. [2018-12-19 21:29:22,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:29:22,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:29:22,119 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 184 states. [2018-12-19 21:29:22,119 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 184 states. [2018-12-19 21:29:22,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:22,124 INFO L93 Difference]: Finished difference Result 184 states and 785 transitions. [2018-12-19 21:29:22,125 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 785 transitions. [2018-12-19 21:29:22,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:29:22,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:29:22,125 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:29:22,125 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:29:22,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 121 states. [2018-12-19 21:29:22,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 632 transitions. [2018-12-19 21:29:22,128 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 632 transitions. Word has length 6 [2018-12-19 21:29:22,128 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:29:22,128 INFO L480 AbstractCegarLoop]: Abstraction has 121 states and 632 transitions. [2018-12-19 21:29:22,128 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:29:22,129 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 632 transitions. [2018-12-19 21:29:22,129 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:29:22,129 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:29:22,129 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:29:22,129 INFO L423 AbstractCegarLoop]: === Iteration 63 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:29:22,129 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:29:22,129 INFO L82 PathProgramCache]: Analyzing trace with hash 897179862, now seen corresponding path program 1 times [2018-12-19 21:29:22,130 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:29:22,130 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:22,130 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:29:22,130 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:22,131 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:29:22,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:22,307 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:29:22,308 INFO L273 TraceCheckUtils]: 1: Hoare triple {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:29:22,309 INFO L273 TraceCheckUtils]: 2: Hoare triple {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:29:22,309 INFO L273 TraceCheckUtils]: 3: Hoare triple {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} assume #memory_int[main_p1] >= 0; {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:29:22,309 INFO L273 TraceCheckUtils]: 4: Hoare triple {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} assume #memory_int[main_p2] <= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:22,310 INFO L273 TraceCheckUtils]: 5: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2018-12-19 21:29:22,310 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:29:22,310 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:29:22,310 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:29:22,310 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-19 21:29:22,311 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [24], [26], [27] [2018-12-19 21:29:22,311 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:29:22,312 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:29:22,323 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:29:22,323 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:29:22,323 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:29:22,323 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:29:22,324 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:29:22,324 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 61 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 61 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:29:22,336 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:29:22,336 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:29:22,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:22,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:22,344 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:29:22,376 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:29:22,386 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:29:22,398 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,399 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:29:22,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,420 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:29:22,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,443 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,445 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:29:22,451 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:22,474 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:22,489 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:22,502 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:22,515 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:22,539 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:29:22,539 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-19 21:29:22,548 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:22,548 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_368|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_368| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:29:22,548 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:29:22,617 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,619 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,625 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:22,626 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:29:22,631 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:22,664 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:29:22,664 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-19 21:29:24,729 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:24,729 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_369|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_369| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_369| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_369| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_369| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_369| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:29:24,729 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:29:24,822 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:24,823 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:24,825 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:24,826 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:24,827 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:24,828 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:24,829 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:24,830 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:24,831 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:24,832 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-19 21:29:24,836 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:24,873 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:29:24,874 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-19 21:29:24,887 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:24,887 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_370|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_370| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_370| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= 0 (+ (select |v_#memory_int_370| ULTIMATE.start_main_p2) 1)) (= (store |v_#memory_int_370| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_370| ULTIMATE.start_main_p5) 0))) [2018-12-19 21:29:24,888 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:29:24,999 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {28170#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:25,001 INFO L273 TraceCheckUtils]: 1: Hoare triple {28170#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28174#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:29:25,002 INFO L273 TraceCheckUtils]: 2: Hoare triple {28174#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:29:25,003 INFO L273 TraceCheckUtils]: 3: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume #memory_int[main_p1] >= 0; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:29:25,004 INFO L273 TraceCheckUtils]: 4: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume #memory_int[main_p2] <= 0; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:29:25,004 INFO L273 TraceCheckUtils]: 5: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2018-12-19 21:29:25,005 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:29:25,005 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:29:25,037 INFO L273 TraceCheckUtils]: 5: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2018-12-19 21:29:25,038 INFO L273 TraceCheckUtils]: 4: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:25,038 INFO L273 TraceCheckUtils]: 3: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:25,039 INFO L273 TraceCheckUtils]: 2: Hoare triple {28197#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:25,040 INFO L273 TraceCheckUtils]: 1: Hoare triple {28201#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28197#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2018-12-19 21:29:25,042 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {28201#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2018-12-19 21:29:25,043 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:29:25,063 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:29:25,063 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:29:25,063 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:29:25,064 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:29:25,064 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:29:25,064 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:29:25,085 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:29:25,085 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:29:25,085 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:29:25,085 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=52, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:29:25,085 INFO L87 Difference]: Start difference. First operand 121 states and 632 transitions. Second operand 8 states. [2018-12-19 21:29:33,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:33,102 INFO L93 Difference]: Finished difference Result 161 states and 745 transitions. [2018-12-19 21:29:33,102 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:29:33,102 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:29:33,102 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:29:33,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:29:33,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2018-12-19 21:29:33,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:29:33,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2018-12-19 21:29:33,105 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2018-12-19 21:29:33,184 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:29:33,188 INFO L225 Difference]: With dead ends: 161 [2018-12-19 21:29:33,188 INFO L226 Difference]: Without dead ends: 160 [2018-12-19 21:29:33,188 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:29:33,189 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2018-12-19 21:29:41,360 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 133. [2018-12-19 21:29:41,360 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:29:41,360 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand 133 states. [2018-12-19 21:29:41,361 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand 133 states. [2018-12-19 21:29:41,361 INFO L87 Difference]: Start difference. First operand 160 states. Second operand 133 states. [2018-12-19 21:29:41,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:41,371 INFO L93 Difference]: Finished difference Result 160 states and 742 transitions. [2018-12-19 21:29:41,371 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 742 transitions. [2018-12-19 21:29:41,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:29:41,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:29:41,372 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 160 states. [2018-12-19 21:29:41,372 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 160 states. [2018-12-19 21:29:41,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:41,382 INFO L93 Difference]: Finished difference Result 160 states and 742 transitions. [2018-12-19 21:29:41,382 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 742 transitions. [2018-12-19 21:29:41,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:29:41,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:29:41,383 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:29:41,383 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:29:41,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2018-12-19 21:29:41,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 714 transitions. [2018-12-19 21:29:41,392 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 714 transitions. Word has length 6 [2018-12-19 21:29:41,392 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:29:41,392 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 714 transitions. [2018-12-19 21:29:41,392 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:29:41,392 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 714 transitions. [2018-12-19 21:29:41,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:29:41,393 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:29:41,393 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:29:41,393 INFO L423 AbstractCegarLoop]: === Iteration 64 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:29:41,393 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:29:41,393 INFO L82 PathProgramCache]: Analyzing trace with hash 900993110, now seen corresponding path program 2 times [2018-12-19 21:29:41,393 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:29:41,394 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:41,394 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:29:41,394 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:41,394 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:29:41,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:41,797 WARN L181 SmtUtils]: Spent 222.00 ms on a formula simplification. DAG size of input: 15 DAG size of output: 9 [2018-12-19 21:29:41,847 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29057#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:29:41,848 INFO L273 TraceCheckUtils]: 1: Hoare triple {29057#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29058#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:29:41,849 INFO L273 TraceCheckUtils]: 2: Hoare triple {29058#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:41,849 INFO L273 TraceCheckUtils]: 3: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:41,850 INFO L273 TraceCheckUtils]: 4: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:41,850 INFO L273 TraceCheckUtils]: 5: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2018-12-19 21:29:41,850 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:29:41,851 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:29:41,851 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:29:41,851 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:29:41,851 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:29:41,851 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:29:41,851 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 62 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 62 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:29:41,860 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:29:41,861 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:29:41,865 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-12-19 21:29:41,866 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:29:41,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:41,870 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:29:41,884 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:29:41,892 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:29:41,903 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-19 21:29:41,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:41,921 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-12-19 21:29:41,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:41,943 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:41,944 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2018-12-19 21:29:41,949 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:41,967 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:41,980 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:41,992 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:42,003 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:42,020 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:29:42,021 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2018-12-19 21:29:42,027 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:42,027 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_373|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_373| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:29:42,027 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:29:42,084 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:42,086 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:42,087 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:42,088 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:42,089 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 34 [2018-12-19 21:29:42,093 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:42,111 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:29:42,112 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2018-12-19 21:29:42,120 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:42,120 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_374|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_374| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_374| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_374| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_374| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-19 21:29:42,120 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:29:42,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:42,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:42,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:42,183 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:42,184 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:42,185 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:42,186 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:29:42,190 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:42,212 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:29:42,213 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2018-12-19 21:29:43,140 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:43,140 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_375|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_375| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_375| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_375| ULTIMATE.start_main_p5) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_375| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-19 21:29:43,140 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:29:43,202 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29063#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:29:43,204 INFO L273 TraceCheckUtils]: 1: Hoare triple {29063#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29067#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:29:43,206 INFO L273 TraceCheckUtils]: 2: Hoare triple {29067#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:29:43,207 INFO L273 TraceCheckUtils]: 3: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:29:43,208 INFO L273 TraceCheckUtils]: 4: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:29:43,209 INFO L273 TraceCheckUtils]: 5: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2018-12-19 21:29:43,209 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:29:43,209 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:29:43,259 INFO L273 TraceCheckUtils]: 5: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2018-12-19 21:29:43,260 INFO L273 TraceCheckUtils]: 4: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:43,261 INFO L273 TraceCheckUtils]: 3: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:43,262 INFO L273 TraceCheckUtils]: 2: Hoare triple {29091#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:43,263 INFO L273 TraceCheckUtils]: 1: Hoare triple {29095#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29091#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:43,265 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29095#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:29:43,266 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:29:43,286 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:29:43,286 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:29:43,286 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:29:43,286 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:29:43,287 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:29:43,287 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:29:43,304 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:29:43,304 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:29:43,305 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:29:43,305 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:29:43,305 INFO L87 Difference]: Start difference. First operand 133 states and 714 transitions. Second operand 8 states. [2018-12-19 21:29:52,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:52,973 INFO L93 Difference]: Finished difference Result 172 states and 801 transitions. [2018-12-19 21:29:52,973 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:29:52,973 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-19 21:29:52,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:29:52,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:29:52,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2018-12-19 21:29:52,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:29:52,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2018-12-19 21:29:52,975 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 66 transitions. [2018-12-19 21:29:53,081 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:29:53,086 INFO L225 Difference]: With dead ends: 172 [2018-12-19 21:29:53,086 INFO L226 Difference]: Without dead ends: 170 [2018-12-19 21:29:53,086 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:29:53,087 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 170 states. [2018-12-19 21:30:02,337 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 170 to 137. [2018-12-19 21:30:02,337 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:02,337 INFO L82 GeneralOperation]: Start isEquivalent. First operand 170 states. Second operand 137 states. [2018-12-19 21:30:02,338 INFO L74 IsIncluded]: Start isIncluded. First operand 170 states. Second operand 137 states. [2018-12-19 21:30:02,338 INFO L87 Difference]: Start difference. First operand 170 states. Second operand 137 states. [2018-12-19 21:30:02,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:02,349 INFO L93 Difference]: Finished difference Result 170 states and 798 transitions. [2018-12-19 21:30:02,349 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 798 transitions. [2018-12-19 21:30:02,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:02,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:02,349 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 170 states. [2018-12-19 21:30:02,349 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 170 states. [2018-12-19 21:30:02,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:02,356 INFO L93 Difference]: Finished difference Result 170 states and 798 transitions. [2018-12-19 21:30:02,356 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 798 transitions. [2018-12-19 21:30:02,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:02,357 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:02,357 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:02,357 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:02,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-12-19 21:30:02,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 738 transitions. [2018-12-19 21:30:02,363 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 738 transitions. Word has length 6 [2018-12-19 21:30:02,363 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:02,363 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 738 transitions. [2018-12-19 21:30:02,363 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:02,363 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 738 transitions. [2018-12-19 21:30:02,363 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:30:02,363 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:02,364 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:30:02,364 INFO L423 AbstractCegarLoop]: === Iteration 65 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:02,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:02,364 INFO L82 PathProgramCache]: Analyzing trace with hash 900629352, now seen corresponding path program 3 times [2018-12-19 21:30:02,364 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:02,365 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:02,365 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:30:02,365 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:02,365 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:02,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:02,726 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29997#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:30:02,727 INFO L273 TraceCheckUtils]: 1: Hoare triple {29997#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:02,728 INFO L273 TraceCheckUtils]: 2: Hoare triple {29998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {29999#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:02,729 INFO L273 TraceCheckUtils]: 3: Hoare triple {29999#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {30000#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:30:02,729 INFO L273 TraceCheckUtils]: 4: Hoare triple {30000#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {30001#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:02,730 INFO L273 TraceCheckUtils]: 5: Hoare triple {30001#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2018-12-19 21:30:02,730 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:02,730 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:02,731 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:02,731 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:30:02,731 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-19 21:30:02,731 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:02,731 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 63 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 63 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:30:02,741 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-12-19 21:30:02,742 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2018-12-19 21:30:02,746 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-12-19 21:30:02,746 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:30:02,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:02,751 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:02,777 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:30:02,788 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:02,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, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:30:02,801 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:02,803 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:02,803 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:30:02,822 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:02,823 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:02,824 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:02,825 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:30:02,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:02,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:02,859 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:02,860 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:02,861 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:30:02,867 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:02,898 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:02,916 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:02,930 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:02,943 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:02,963 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:02,963 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:30:02,969 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:02,969 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_378|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_378| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:30:02,970 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:03,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,056 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,061 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,063 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:30:03,069 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:03,116 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:03,117 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:30:03,539 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:03,539 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_379|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_379| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_379| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_379| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_379| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_379| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_379| ULTIMATE.start_main_p1) 0))) [2018-12-19 21:30:03,539 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:03,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,630 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,632 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,635 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,636 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,639 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,640 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:30:03,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2018-12-19 21:30:03,648 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:03,699 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:03,699 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:30:03,715 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:03,716 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_380|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_380| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_380| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_380| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_380| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_380| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_380| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:30:03,716 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:03,802 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,803 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,804 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,805 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,807 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,808 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,810 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,811 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,812 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,814 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,815 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,816 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,817 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:30:03,822 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:03,875 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:03,875 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-19 21:30:05,907 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:05,907 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_381|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_381| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_381| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_381| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_381| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_381| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_381| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:30:05,907 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:30:06,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,011 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,012 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,014 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,015 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,016 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,018 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:30:06,019 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:06,020 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:30:06,028 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:06,085 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:06,086 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:30:06,106 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:06,106 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_382|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_382| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_382| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_382| ULTIMATE.start_main_p4) 1)) (= 1 (select |v_#memory_int_382| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_382| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_382| ULTIMATE.start_main_p5) 0))) [2018-12-19 21:30:06,107 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:30:06,185 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {30005#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:30:06,188 INFO L273 TraceCheckUtils]: 1: Hoare triple {30005#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {30009#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:30:06,189 INFO L273 TraceCheckUtils]: 2: Hoare triple {30009#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {30013#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:30:06,192 INFO L273 TraceCheckUtils]: 3: Hoare triple {30013#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {30017#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:30:06,198 INFO L273 TraceCheckUtils]: 4: Hoare triple {30017#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {30021#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:30:06,198 INFO L273 TraceCheckUtils]: 5: Hoare triple {30021#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2018-12-19 21:30:06,199 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:06,199 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:06,354 INFO L273 TraceCheckUtils]: 5: Hoare triple {30025#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2018-12-19 21:30:06,355 INFO L273 TraceCheckUtils]: 4: Hoare triple {30029#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {30025#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:06,356 INFO L273 TraceCheckUtils]: 3: Hoare triple {30033#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {30029#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:06,357 INFO L273 TraceCheckUtils]: 2: Hoare triple {30037#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {30033#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:06,360 INFO L273 TraceCheckUtils]: 1: Hoare triple {30041#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {30037#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:06,362 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {30041#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:06,363 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:06,383 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:06,383 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-19 21:30:06,383 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:06,383 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:30:06,383 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:06,384 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:30:06,414 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:06,414 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:30:06,414 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:30:06,414 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:30:06,415 INFO L87 Difference]: Start difference. First operand 137 states and 738 transitions. Second operand 12 states. [2018-12-19 21:30:21,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:21,196 INFO L93 Difference]: Finished difference Result 209 states and 906 transitions. [2018-12-19 21:30:21,196 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:30:21,197 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-19 21:30:21,197 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:21,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:30:21,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2018-12-19 21:30:21,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:30:21,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2018-12-19 21:30:21,198 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 91 transitions. [2018-12-19 21:30:21,634 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:21,639 INFO L225 Difference]: With dead ends: 209 [2018-12-19 21:30:21,639 INFO L226 Difference]: Without dead ends: 207 [2018-12-19 21:30:21,640 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:30:21,640 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2018-12-19 21:30:29,874 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 123. [2018-12-19 21:30:29,874 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:29,874 INFO L82 GeneralOperation]: Start isEquivalent. First operand 207 states. Second operand 123 states. [2018-12-19 21:30:29,874 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand 123 states. [2018-12-19 21:30:29,874 INFO L87 Difference]: Start difference. First operand 207 states. Second operand 123 states. [2018-12-19 21:30:29,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:29,881 INFO L93 Difference]: Finished difference Result 207 states and 901 transitions. [2018-12-19 21:30:29,882 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 901 transitions. [2018-12-19 21:30:29,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:29,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:29,882 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 207 states. [2018-12-19 21:30:29,882 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 207 states. [2018-12-19 21:30:29,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:29,889 INFO L93 Difference]: Finished difference Result 207 states and 901 transitions. [2018-12-19 21:30:29,889 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 901 transitions. [2018-12-19 21:30:29,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:29,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:29,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:29,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:29,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2018-12-19 21:30:29,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 652 transitions. [2018-12-19 21:30:29,897 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 652 transitions. Word has length 6 [2018-12-19 21:30:29,897 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:29,897 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 652 transitions. [2018-12-19 21:30:29,897 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:30:29,897 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 652 transitions. [2018-12-19 21:30:29,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-19 21:30:29,898 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:29,898 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-19 21:30:29,898 INFO L423 AbstractCegarLoop]: === Iteration 66 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:29,898 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:29,899 INFO L82 PathProgramCache]: Analyzing trace with hash 900750874, now seen corresponding path program 2 times [2018-12-19 21:30:29,899 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:29,899 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:29,899 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:30:29,900 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:29,900 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:29,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:30,329 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31044#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:30:30,330 INFO L273 TraceCheckUtils]: 1: Hoare triple {31044#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {31045#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:30:30,332 INFO L273 TraceCheckUtils]: 2: Hoare triple {31045#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31046#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:30:30,332 INFO L273 TraceCheckUtils]: 3: Hoare triple {31046#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:30,333 INFO L273 TraceCheckUtils]: 4: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:30,334 INFO L273 TraceCheckUtils]: 5: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2018-12-19 21:30:30,334 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:30,334 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:30,334 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:30,335 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:30:30,335 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-19 21:30:30,335 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:30,335 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 64 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 64 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:30:30,347 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:30:30,347 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:30:30,355 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:30:30,355 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:30:30,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:30,361 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:30,414 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:30:30,425 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:30:30,442 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,443 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:30:30,467 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,468 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,469 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:30:30,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,503 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,505 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:30:30,515 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:30,539 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:30,556 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:30,570 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:30,585 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:30,612 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:30,612 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-19 21:30:30,621 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:30,621 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_387|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_387| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:30:30,621 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:30:30,730 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,731 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,737 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,738 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,739 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:30:30,747 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:30,787 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:30,787 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-19 21:30:32,795 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:32,795 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_388|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_388| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_388| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_388| ULTIMATE.start_main_p4)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_388| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_388| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:30:32,795 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:30:32,896 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,897 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,898 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,901 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,902 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,903 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,904 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,905 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,906 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 65 [2018-12-19 21:30:32,914 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:32,957 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:32,958 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-19 21:30:32,965 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:32,966 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_389|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_389| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_389| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_389| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_389| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_389| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:30:32,966 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:30:33,072 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,109 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,124 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,133 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:30:33,134 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 83 [2018-12-19 21:30:33,159 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:33,203 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:33,203 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-19 21:30:33,758 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:33,758 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_390|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_390| ULTIMATE.start_main_p5))) (and (= 0 (+ (select |v_#memory_int_390| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_390| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_390| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_390| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2018-12-19 21:30:33,758 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:30:33,832 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31051#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:30:33,835 INFO L273 TraceCheckUtils]: 1: Hoare triple {31051#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {31055#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:30:33,837 INFO L273 TraceCheckUtils]: 2: Hoare triple {31055#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:30:33,840 INFO L273 TraceCheckUtils]: 3: Hoare triple {31059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:30:33,841 INFO L273 TraceCheckUtils]: 4: Hoare triple {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:30:33,842 INFO L273 TraceCheckUtils]: 5: Hoare triple {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2018-12-19 21:30:33,843 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:33,843 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:33,961 INFO L273 TraceCheckUtils]: 5: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2018-12-19 21:30:33,961 INFO L273 TraceCheckUtils]: 4: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:33,962 INFO L273 TraceCheckUtils]: 3: Hoare triple {31076#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:33,964 INFO L273 TraceCheckUtils]: 2: Hoare triple {31080#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31076#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:33,965 INFO L273 TraceCheckUtils]: 1: Hoare triple {31084#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {31080#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:33,968 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31084#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:33,968 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:33,988 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:33,988 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:30:33,988 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:33,988 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:30:33,988 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:33,988 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:30:34,008 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:34,009 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:30:34,009 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:30:34,009 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=91, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:30:34,009 INFO L87 Difference]: Start difference. First operand 123 states and 652 transitions. Second operand 10 states. [2018-12-19 21:30:45,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:45,590 INFO L93 Difference]: Finished difference Result 180 states and 787 transitions. [2018-12-19 21:30:45,590 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:30:45,591 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-19 21:30:45,591 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:45,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:30:45,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2018-12-19 21:30:45,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:30:45,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2018-12-19 21:30:45,592 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 78 transitions. [2018-12-19 21:30:45,708 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:45,712 INFO L225 Difference]: With dead ends: 180 [2018-12-19 21:30:45,712 INFO L226 Difference]: Without dead ends: 173 [2018-12-19 21:30:45,712 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2018-12-19 21:30:45,713 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2018-12-19 21:30:55,978 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 134. [2018-12-19 21:30:55,978 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:55,978 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand 134 states. [2018-12-19 21:30:55,978 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand 134 states. [2018-12-19 21:30:55,978 INFO L87 Difference]: Start difference. First operand 173 states. Second operand 134 states. [2018-12-19 21:30:55,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:55,983 INFO L93 Difference]: Finished difference Result 173 states and 777 transitions. [2018-12-19 21:30:55,984 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 777 transitions. [2018-12-19 21:30:55,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:55,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:55,984 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 173 states. [2018-12-19 21:30:55,984 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 173 states. [2018-12-19 21:30:55,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:55,988 INFO L93 Difference]: Finished difference Result 173 states and 777 transitions. [2018-12-19 21:30:55,988 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 777 transitions. [2018-12-19 21:30:55,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:55,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:55,989 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:55,989 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:55,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2018-12-19 21:30:55,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 703 transitions. [2018-12-19 21:30:55,992 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 703 transitions. Word has length 6 [2018-12-19 21:30:55,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:55,992 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 703 transitions. [2018-12-19 21:30:55,992 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:30:55,992 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 703 transitions. [2018-12-19 21:30:55,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:30:55,993 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:55,993 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:30:55,995 INFO L423 AbstractCegarLoop]: === Iteration 67 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:55,995 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:55,995 INFO L82 PathProgramCache]: Analyzing trace with hash -2018172698, now seen corresponding path program 1 times [2018-12-19 21:30:55,995 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:55,996 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:55,996 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:30:55,996 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:55,996 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:55,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:56,302 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31989#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:56,303 INFO L273 TraceCheckUtils]: 1: Hoare triple {31989#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {31990#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:30:56,304 INFO L273 TraceCheckUtils]: 2: Hoare triple {31990#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:30:56,304 INFO L273 TraceCheckUtils]: 3: Hoare triple {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:30:56,305 INFO L273 TraceCheckUtils]: 4: Hoare triple {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31992#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:30:56,305 INFO L273 TraceCheckUtils]: 5: Hoare triple {31992#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:56,306 INFO L273 TraceCheckUtils]: 6: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2018-12-19 21:30:56,306 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:30:56,306 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:56,306 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:56,307 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-19 21:30:56,307 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [20], [24], [25] [2018-12-19 21:30:56,311 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:56,311 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:56,330 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:56,331 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-19 21:30:56,331 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:56,331 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:56,331 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:56,331 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 65 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 65 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:30:56,343 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:56,343 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:56,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:56,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:56,351 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:56,397 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:30:56,411 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,412 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:30:56,430 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,431 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,432 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:30:56,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,460 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,462 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,463 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:30:56,497 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,502 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:30:56,512 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:56,546 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:56,565 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:56,582 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:56,597 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:56,621 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:56,621 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:30:56,633 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:56,633 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_394|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_394| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:30:56,633 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:56,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,770 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,773 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,774 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,776 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,777 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:56,778 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:30:56,788 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:56,841 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:56,841 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:30:58,849 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:58,849 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_395|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_395| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_395| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_395| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_395| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_395| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_395| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:30:58,849 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:30:58,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,980 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,982 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,983 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,986 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,987 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,989 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,990 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2018-12-19 21:30:59,003 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:59,060 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:59,061 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:31:01,070 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:01,071 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_396|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_396| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_396| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_396| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_396| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= (select |v_#memory_int_396| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_396| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:31:01,071 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:31:01,191 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,193 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,194 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,196 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,197 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,198 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,200 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,201 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,202 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,204 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,205 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,209 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,209 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:01,210 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 94 [2018-12-19 21:31:01,221 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:01,278 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:01,278 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:31:01,640 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:01,641 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_397|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_397| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_397| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_397| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_397| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_397| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_397| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:31:01,641 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:31:01,777 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,778 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,780 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,782 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,783 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,785 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,786 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,788 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,789 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,790 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,792 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,792 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:01,794 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,795 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 93 [2018-12-19 21:31:01,811 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:01,876 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:01,876 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:31:01,926 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:01,927 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_398|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_398| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_398| ULTIMATE.start_main_p5)) (= 0 .cse0) (= 1 (select |v_#memory_int_398| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_398| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_398| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_398| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2018-12-19 21:31:01,927 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:31:02,037 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31997#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:31:02,040 INFO L273 TraceCheckUtils]: 1: Hoare triple {31997#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32001#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-19 21:31:02,043 INFO L273 TraceCheckUtils]: 2: Hoare triple {32001#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {32005#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:31:02,047 INFO L273 TraceCheckUtils]: 3: Hoare triple {32005#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {32009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:02,051 INFO L273 TraceCheckUtils]: 4: Hoare triple {32009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:31:02,052 INFO L273 TraceCheckUtils]: 5: Hoare triple {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:31:02,053 INFO L273 TraceCheckUtils]: 6: Hoare triple {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2018-12-19 21:31:02,053 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:02,053 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:02,771 INFO L273 TraceCheckUtils]: 6: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2018-12-19 21:31:02,772 INFO L273 TraceCheckUtils]: 5: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:02,773 INFO L273 TraceCheckUtils]: 4: Hoare triple {32026#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:02,774 INFO L273 TraceCheckUtils]: 3: Hoare triple {32030#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {32026#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:31:02,776 INFO L273 TraceCheckUtils]: 2: Hoare triple {32034#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {32030#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:31:02,778 INFO L273 TraceCheckUtils]: 1: Hoare triple {32038#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32034#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:31:02,780 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {32038#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:31:02,781 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:02,802 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:02,802 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2018-12-19 21:31:02,802 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:02,802 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-19 21:31:02,802 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:02,803 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:31:02,833 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:02,833 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:31:02,833 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:31:02,833 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=147, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:31:02,834 INFO L87 Difference]: Start difference. First operand 134 states and 703 transitions. Second operand 12 states. [2018-12-19 21:31:16,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:16,511 INFO L93 Difference]: Finished difference Result 189 states and 804 transitions. [2018-12-19 21:31:16,511 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-12-19 21:31:16,511 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-19 21:31:16,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:16,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:31:16,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2018-12-19 21:31:16,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:31:16,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2018-12-19 21:31:16,512 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 85 transitions. [2018-12-19 21:31:16,658 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:31:16,662 INFO L225 Difference]: With dead ends: 189 [2018-12-19 21:31:16,662 INFO L226 Difference]: Without dead ends: 188 [2018-12-19 21:31:16,662 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=138, Invalid=242, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:31:16,662 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2018-12-19 21:31:27,017 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 133. [2018-12-19 21:31:27,017 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:27,017 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand 133 states. [2018-12-19 21:31:27,017 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand 133 states. [2018-12-19 21:31:27,017 INFO L87 Difference]: Start difference. First operand 188 states. Second operand 133 states. [2018-12-19 21:31:27,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:27,022 INFO L93 Difference]: Finished difference Result 188 states and 802 transitions. [2018-12-19 21:31:27,022 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 802 transitions. [2018-12-19 21:31:27,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:27,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:27,023 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 188 states. [2018-12-19 21:31:27,023 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 188 states. [2018-12-19 21:31:27,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:27,027 INFO L93 Difference]: Finished difference Result 188 states and 802 transitions. [2018-12-19 21:31:27,027 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 802 transitions. [2018-12-19 21:31:27,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:27,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:27,028 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:27,028 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:27,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2018-12-19 21:31:27,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 697 transitions. [2018-12-19 21:31:27,031 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 697 transitions. Word has length 7 [2018-12-19 21:31:27,031 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:27,031 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 697 transitions. [2018-12-19 21:31:27,031 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:31:27,031 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 697 transitions. [2018-12-19 21:31:27,032 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:31:27,032 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:27,032 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:31:27,032 INFO L423 AbstractCegarLoop]: === Iteration 68 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:27,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:27,032 INFO L82 PathProgramCache]: Analyzing trace with hash -2018168854, now seen corresponding path program 1 times [2018-12-19 21:31:27,032 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:27,033 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:27,033 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:27,033 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:27,033 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:27,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:27,537 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {32986#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:31:27,539 INFO L273 TraceCheckUtils]: 1: Hoare triple {32986#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32987#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:27,540 INFO L273 TraceCheckUtils]: 2: Hoare triple {32987#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:27,560 INFO L273 TraceCheckUtils]: 3: Hoare triple {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:27,561 INFO L273 TraceCheckUtils]: 4: Hoare triple {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:27,563 INFO L273 TraceCheckUtils]: 5: Hoare triple {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:27,563 INFO L273 TraceCheckUtils]: 6: Hoare triple {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2018-12-19 21:31:27,563 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:31:27,564 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:27,564 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:27,564 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-19 21:31:27,564 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [18], [20], [24], [25] [2018-12-19 21:31:27,564 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:27,564 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:27,579 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:27,579 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-19 21:31:27,579 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:27,579 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:27,579 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:27,579 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 66 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 66 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:31:27,587 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:27,587 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:27,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:27,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:27,598 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:27,635 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:31:27,645 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,646 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:31:27,661 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,663 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,664 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:31:27,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,688 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:31:27,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,718 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,719 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,721 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:31:27,730 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:27,759 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:27,777 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:27,792 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:27,804 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:27,825 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:27,826 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2018-12-19 21:31:27,833 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:27,833 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_403|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_403| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:31:27,833 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:27,925 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,927 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,928 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,929 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,930 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,931 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,933 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,934 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,935 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,937 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31: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:31:27,946 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:27,991 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:27,992 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2018-12-19 21:31:30,000 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:30,000 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_404|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_404| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p1)) (= .cse0 0) (= (store |v_#memory_int_404| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_404| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p2)))) [2018-12-19 21:31:30,001 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:31:30,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,099 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,101 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,102 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,103 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,105 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,106 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,107 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,109 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,110 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,111 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,112 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,113 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:31:30,121 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:30,170 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:30,171 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2018-12-19 21:31:31,093 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:31,093 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_405|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_405| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_405| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_405| ULTIMATE.start_main_p2) 0) (= (+ (select |v_#memory_int_405| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_405| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_405| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:31:31,094 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:31:31,189 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,191 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,193 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,194 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,195 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,197 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,198 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,199 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,200 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,202 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,203 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,204 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,205 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,206 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:31,206 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 94 [2018-12-19 21:31:31,214 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:31,272 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:31,272 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:31:31,285 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:31,286 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_406|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_406| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_406| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_406| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_406| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_406| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_406| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:31:31,286 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:31:31,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,378 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,381 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,382 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,384 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,387 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,388 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,389 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,390 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,391 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,392 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:31,392 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 98 [2018-12-19 21:31:31,401 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:31,458 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:31,458 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:31:31,496 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:31,496 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_407|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_407| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_407| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_407| ULTIMATE.start_main_p5) 1) (= (+ (select |v_#memory_int_407| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_407| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_407| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:31:31,496 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:31:31,580 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {32993#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:31:31,582 INFO L273 TraceCheckUtils]: 1: Hoare triple {32993#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32997#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:31:31,584 INFO L273 TraceCheckUtils]: 2: Hoare triple {32997#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33001#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:31:31,587 INFO L273 TraceCheckUtils]: 3: Hoare triple {33001#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {33005#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:31:31,591 INFO L273 TraceCheckUtils]: 4: Hoare triple {33005#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:31,592 INFO L273 TraceCheckUtils]: 5: Hoare triple {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:31,593 INFO L273 TraceCheckUtils]: 6: Hoare triple {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2018-12-19 21:31:31,594 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:31,594 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:31,736 INFO L273 TraceCheckUtils]: 6: Hoare triple {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2018-12-19 21:31:31,737 INFO L273 TraceCheckUtils]: 5: Hoare triple {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:31,738 INFO L273 TraceCheckUtils]: 4: Hoare triple {33023#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:31,739 INFO L273 TraceCheckUtils]: 3: Hoare triple {33027#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {33023#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:31,741 INFO L273 TraceCheckUtils]: 2: Hoare triple {33031#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33027#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:31,744 INFO L273 TraceCheckUtils]: 1: Hoare triple {33035#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33031#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:31,746 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33035#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:31,747 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:31,766 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:31,766 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2018-12-19 21:31:31,766 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:31,767 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2018-12-19 21:31:31,767 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:31,767 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-12-19 21:31:31,792 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:31,793 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-12-19 21:31:31,793 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-12-19 21:31:31,793 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=157, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:31:31,793 INFO L87 Difference]: Start difference. First operand 133 states and 697 transitions. Second operand 11 states. [2018-12-19 21:31:43,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:43,900 INFO L93 Difference]: Finished difference Result 169 states and 746 transitions. [2018-12-19 21:31:43,900 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:31:43,900 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2018-12-19 21:31:43,900 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:43,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-19 21:31:43,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2018-12-19 21:31:43,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-19 21:31:43,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2018-12-19 21:31:43,901 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 72 transitions. [2018-12-19 21:31:44,025 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:31:44,028 INFO L225 Difference]: With dead ends: 169 [2018-12-19 21:31:44,029 INFO L226 Difference]: Without dead ends: 168 [2018-12-19 21:31:44,029 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 90 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=131, Invalid=249, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:31:44,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 168 states. [2018-12-19 21:31:53,729 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 168 to 132. [2018-12-19 21:31:53,730 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:53,730 INFO L82 GeneralOperation]: Start isEquivalent. First operand 168 states. Second operand 132 states. [2018-12-19 21:31:53,730 INFO L74 IsIncluded]: Start isIncluded. First operand 168 states. Second operand 132 states. [2018-12-19 21:31:53,730 INFO L87 Difference]: Start difference. First operand 168 states. Second operand 132 states. [2018-12-19 21:31:53,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:53,734 INFO L93 Difference]: Finished difference Result 168 states and 743 transitions. [2018-12-19 21:31:53,734 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 743 transitions. [2018-12-19 21:31:53,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:53,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:53,735 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 168 states. [2018-12-19 21:31:53,735 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 168 states. [2018-12-19 21:31:53,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:53,738 INFO L93 Difference]: Finished difference Result 168 states and 743 transitions. [2018-12-19 21:31:53,739 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 743 transitions. [2018-12-19 21:31:53,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:53,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:53,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:53,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:53,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 132 states. [2018-12-19 21:31:53,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 691 transitions. [2018-12-19 21:31:53,743 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 691 transitions. Word has length 7 [2018-12-19 21:31:53,743 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:53,743 INFO L480 AbstractCegarLoop]: Abstraction has 132 states and 691 transitions. [2018-12-19 21:31:53,743 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-12-19 21:31:53,743 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 691 transitions. [2018-12-19 21:31:53,743 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:31:53,744 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:53,744 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:31:53,744 INFO L423 AbstractCegarLoop]: === Iteration 69 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:53,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:53,744 INFO L82 PathProgramCache]: Analyzing trace with hash -2017620956, now seen corresponding path program 1 times [2018-12-19 21:31:53,744 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:53,745 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:53,745 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:53,745 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:53,745 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:53,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:53,872 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33913#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:31:53,874 INFO L273 TraceCheckUtils]: 1: Hoare triple {33913#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33914#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 1) 0))} is VALID [2018-12-19 21:31:53,874 INFO L273 TraceCheckUtils]: 2: Hoare triple {33914#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 1) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2018-12-19 21:31:53,875 INFO L273 TraceCheckUtils]: 3: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p1] >= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2018-12-19 21:31:53,875 INFO L273 TraceCheckUtils]: 4: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p2] <= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2018-12-19 21:31:53,876 INFO L273 TraceCheckUtils]: 5: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p3] >= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2018-12-19 21:31:53,877 INFO L273 TraceCheckUtils]: 6: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2018-12-19 21:31:53,877 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:53,877 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:53,877 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:53,878 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-19 21:31:53,878 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [26], [28], [29] [2018-12-19 21:31:53,878 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:53,879 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:53,895 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:53,895 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:31:53,895 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:53,895 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:53,895 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:53,896 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 67 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 67 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:31:53,906 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:53,906 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:53,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:53,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:53,913 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:53,936 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:31:53,945 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:31:53,960 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-19 21:31:53,981 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 27 [2018-12-19 21:31:53,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,005 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 30 [2018-12-19 21:31:54,013 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:54,027 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:54,040 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:54,054 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:54,066 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:54,081 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:54,082 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:22, output treesize:29 [2018-12-19 21:31:54,087 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:54,088 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_412|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (store (store (store (store (store |v_#memory_int_412| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:31:54,088 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:54,143 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,144 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,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, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 15 [2018-12-19 21:31:54,148 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:54,156 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:54,157 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:14 [2018-12-19 21:31:54,169 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:54,169 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_413|]. (let ((.cse0 (select |v_#memory_int_413| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (select |v_#memory_int_413| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_413| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-19 21:31:54,169 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:31:54,209 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,210 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,212 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,212 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:31:54,217 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:54,229 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:54,230 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2018-12-19 21:31:54,243 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:54,243 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_414|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_414| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_414| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_414| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-19 21:31:54,243 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-19 21:31:54,307 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33919#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:31:54,308 INFO L273 TraceCheckUtils]: 1: Hoare triple {33919#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33923#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))} is VALID [2018-12-19 21:31:54,309 INFO L273 TraceCheckUtils]: 2: Hoare triple {33923#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2018-12-19 21:31:54,310 INFO L273 TraceCheckUtils]: 3: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p1] >= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2018-12-19 21:31:54,311 INFO L273 TraceCheckUtils]: 4: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p2] <= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2018-12-19 21:31:54,312 INFO L273 TraceCheckUtils]: 5: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p3] >= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2018-12-19 21:31:54,312 INFO L273 TraceCheckUtils]: 6: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2018-12-19 21:31:54,313 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:54,313 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:54,373 INFO L273 TraceCheckUtils]: 6: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2018-12-19 21:31:54,374 INFO L273 TraceCheckUtils]: 5: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:31:54,374 INFO L273 TraceCheckUtils]: 4: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:31:54,375 INFO L273 TraceCheckUtils]: 3: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:31:54,376 INFO L273 TraceCheckUtils]: 2: Hoare triple {33953#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:31:54,377 INFO L273 TraceCheckUtils]: 1: Hoare triple {33957#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33953#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:31:54,379 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33957#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} is VALID [2018-12-19 21:31:54,379 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:31:54,399 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:54,399 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:31:54,400 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:54,400 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2018-12-19 21:31:54,400 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:54,400 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:31:54,417 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:54,417 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:31:54,417 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:31:54,417 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:31:54,417 INFO L87 Difference]: Start difference. First operand 132 states and 691 transitions. Second operand 8 states. [2018-12-19 21:32:04,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:04,850 INFO L93 Difference]: Finished difference Result 159 states and 727 transitions. [2018-12-19 21:32:04,850 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:32:04,850 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2018-12-19 21:32:04,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:04,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:32:04,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-19 21:32:04,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:32:04,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-19 21:32:04,851 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2018-12-19 21:32:04,916 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:04,920 INFO L225 Difference]: With dead ends: 159 [2018-12-19 21:32:04,920 INFO L226 Difference]: Without dead ends: 158 [2018-12-19 21:32:04,920 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:32:04,920 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2018-12-19 21:32:14,667 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 136. [2018-12-19 21:32:14,667 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:14,667 INFO L82 GeneralOperation]: Start isEquivalent. First operand 158 states. Second operand 136 states. [2018-12-19 21:32:14,667 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand 136 states. [2018-12-19 21:32:14,667 INFO L87 Difference]: Start difference. First operand 158 states. Second operand 136 states. [2018-12-19 21:32:14,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:14,672 INFO L93 Difference]: Finished difference Result 158 states and 724 transitions. [2018-12-19 21:32:14,672 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 724 transitions. [2018-12-19 21:32:14,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:14,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:14,673 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 158 states. [2018-12-19 21:32:14,673 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 158 states. [2018-12-19 21:32:14,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:14,676 INFO L93 Difference]: Finished difference Result 158 states and 724 transitions. [2018-12-19 21:32:14,677 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 724 transitions. [2018-12-19 21:32:14,677 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:14,677 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:14,677 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:14,677 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:14,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 136 states. [2018-12-19 21:32:14,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 706 transitions. [2018-12-19 21:32:14,680 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 706 transitions. Word has length 7 [2018-12-19 21:32:14,680 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:14,681 INFO L480 AbstractCegarLoop]: Abstraction has 136 states and 706 transitions. [2018-12-19 21:32:14,681 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:32:14,681 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 706 transitions. [2018-12-19 21:32:14,681 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:32:14,681 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:14,681 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:32:14,681 INFO L423 AbstractCegarLoop]: === Iteration 70 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:14,681 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:14,681 INFO L82 PathProgramCache]: Analyzing trace with hash -2018050250, now seen corresponding path program 1 times [2018-12-19 21:32:14,682 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:14,682 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:14,682 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:14,682 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:14,682 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:14,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:15,129 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {34803#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:32:15,130 INFO L273 TraceCheckUtils]: 1: Hoare triple {34803#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34804#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:32:15,131 INFO L273 TraceCheckUtils]: 2: Hoare triple {34804#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34805#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:32:15,132 INFO L273 TraceCheckUtils]: 3: Hoare triple {34805#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34806#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:32:15,133 INFO L273 TraceCheckUtils]: 4: Hoare triple {34806#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {34807#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:32:15,134 INFO L273 TraceCheckUtils]: 5: Hoare triple {34807#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:15,135 INFO L273 TraceCheckUtils]: 6: Hoare triple {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2018-12-19 21:32:15,135 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:15,135 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:15,136 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:15,136 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-19 21:32:15,136 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [20], [23] [2018-12-19 21:32:15,137 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:32:15,137 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:32:15,150 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:32:15,151 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 5 fixpoints after 5 different actions. Largest state had 0 variables. [2018-12-19 21:32:15,151 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:15,151 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:32:15,151 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:15,151 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 68 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 68 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:32:15,160 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:15,160 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:32:15,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:15,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:15,172 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:15,206 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:32:15,219 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,220 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:32:15,239 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,240 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,241 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:32:15,267 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,269 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,269 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:32:15,308 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,309 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,310 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,311 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,312 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:32:15,323 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,356 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,373 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,388 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,402 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,425 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,425 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2018-12-19 21:32:15,433 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:15,433 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_417|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_417| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:32:15,433 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:32:15,540 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,541 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,543 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,544 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,545 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,547 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,550 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,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, 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:32:15,563 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,608 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:15,608 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2018-12-19 21:32:17,620 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:17,620 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_418|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_418| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_418| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_418| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_418| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_418| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_418| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:32:17,620 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:32:17,731 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,736 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,737 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,738 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,739 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,742 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,743 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,744 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,746 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:32:17,756 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,821 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:32:17,822 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2018-12-19 21:32:17,834 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:17,835 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_419|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_419| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_419| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_419| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= (+ (select |v_#memory_int_419| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_419| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_419| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:32:17,835 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:32:17,925 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,926 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,927 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,929 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,930 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,931 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,932 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,933 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,934 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,937 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,938 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,938 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:17,939 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,940 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:32:17,949 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:18,001 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:18,002 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2018-12-19 21:32:18,020 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:18,020 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_420|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_420| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_420| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_420| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= (select |v_#memory_int_420| ULTIMATE.start_main_p3) 0) (= 0 (+ (select |v_#memory_int_420| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_420| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:32:18,020 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:32:18,107 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,109 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,110 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,111 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,113 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,114 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,115 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,116 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,120 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,121 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,124 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:18,124 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:18,125 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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 100 [2018-12-19 21:32:18,133 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:18,193 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:18,193 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-19 21:32:20,208 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:20,208 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_421|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_421| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_421| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_421| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_421| ULTIMATE.start_main_p5) 1) (= 0 (+ (select |v_#memory_int_421| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_421| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2018-12-19 21:32:20,208 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:32:20,342 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,344 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,345 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,346 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,348 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,349 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,350 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,352 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,353 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,354 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,355 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,357 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,358 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,359 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:20,359 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:20,361 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 96 [2018-12-19 21:32:20,370 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:20,431 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:20,431 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-19 21:32:20,451 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:20,452 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_422|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_422| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_422| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_422| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_422| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_422| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_422| ULTIMATE.start_main_p2) 1)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:32:20,452 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:32:20,496 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {34812#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:32:20,498 INFO L273 TraceCheckUtils]: 1: Hoare triple {34812#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34816#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:32:20,500 INFO L273 TraceCheckUtils]: 2: Hoare triple {34816#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34820#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:32:20,503 INFO L273 TraceCheckUtils]: 3: Hoare triple {34820#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34824#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:32:20,508 INFO L273 TraceCheckUtils]: 4: Hoare triple {34824#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {34828#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:32:20,515 INFO L273 TraceCheckUtils]: 5: Hoare triple {34828#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34832#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:32:20,516 INFO L273 TraceCheckUtils]: 6: Hoare triple {34832#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2018-12-19 21:32:20,517 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:20,517 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:32:20,673 INFO L273 TraceCheckUtils]: 6: Hoare triple {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2018-12-19 21:32:20,674 INFO L273 TraceCheckUtils]: 5: Hoare triple {34839#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:20,675 INFO L273 TraceCheckUtils]: 4: Hoare triple {34843#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {34839#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:32:20,677 INFO L273 TraceCheckUtils]: 3: Hoare triple {34847#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34843#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:32:20,679 INFO L273 TraceCheckUtils]: 2: Hoare triple {34851#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34847#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:32:20,682 INFO L273 TraceCheckUtils]: 1: Hoare triple {34855#(<= 0 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34851#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:32:20,684 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {34855#(<= 0 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:32:20,684 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:20,705 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:32:20,705 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 17 [2018-12-19 21:32:20,705 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:32:20,705 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2018-12-19 21:32:20,705 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:32:20,705 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-12-19 21:32:20,734 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:20,735 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-12-19 21:32:20,735 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-12-19 21:32:20,735 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=130, Invalid=212, Unknown=0, NotChecked=0, Total=342 [2018-12-19 21:32:20,735 INFO L87 Difference]: Start difference. First operand 136 states and 706 transitions. Second operand 14 states. [2018-12-19 21:32:34,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:34,645 INFO L93 Difference]: Finished difference Result 199 states and 872 transitions. [2018-12-19 21:32:34,645 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-12-19 21:32:34,645 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2018-12-19 21:32:34,645 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:34,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-12-19 21:32:34,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2018-12-19 21:32:34,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-12-19 21:32:34,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2018-12-19 21:32:34,646 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2018-12-19 21:32:34,935 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:32:34,939 INFO L225 Difference]: With dead ends: 199 [2018-12-19 21:32:34,939 INFO L226 Difference]: Without dead ends: 198 [2018-12-19 21:32:34,939 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=186, Invalid=320, Unknown=0, NotChecked=0, Total=506 [2018-12-19 21:32:34,939 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 198 states. [2018-12-19 21:32:44,147 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 198 to 134. [2018-12-19 21:32:44,148 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:44,148 INFO L82 GeneralOperation]: Start isEquivalent. First operand 198 states. Second operand 134 states. [2018-12-19 21:32:44,148 INFO L74 IsIncluded]: Start isIncluded. First operand 198 states. Second operand 134 states. [2018-12-19 21:32:44,148 INFO L87 Difference]: Start difference. First operand 198 states. Second operand 134 states. [2018-12-19 21:32:44,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:44,154 INFO L93 Difference]: Finished difference Result 198 states and 868 transitions. [2018-12-19 21:32:44,154 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 868 transitions. [2018-12-19 21:32:44,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:44,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:44,154 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 198 states. [2018-12-19 21:32:44,154 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 198 states. [2018-12-19 21:32:44,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:44,159 INFO L93 Difference]: Finished difference Result 198 states and 868 transitions. [2018-12-19 21:32:44,159 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 868 transitions. [2018-12-19 21:32:44,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:44,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:44,160 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:44,160 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:44,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2018-12-19 21:32:44,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 693 transitions. [2018-12-19 21:32:44,163 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 693 transitions. Word has length 7 [2018-12-19 21:32:44,163 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:44,163 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 693 transitions. [2018-12-19 21:32:44,163 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-12-19 21:32:44,163 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 693 transitions. [2018-12-19 21:32:44,163 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:32:44,164 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:44,164 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:32:44,164 INFO L423 AbstractCegarLoop]: === Iteration 71 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:44,164 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:44,164 INFO L82 PathProgramCache]: Analyzing trace with hash -2018049690, now seen corresponding path program 1 times [2018-12-19 21:32:44,164 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:44,164 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:44,165 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:44,165 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:44,165 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:44,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:44,498 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {35844#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:32:44,499 INFO L273 TraceCheckUtils]: 1: Hoare triple {35844#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35845#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:32:44,500 INFO L273 TraceCheckUtils]: 2: Hoare triple {35845#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {35846#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:32:44,501 INFO L273 TraceCheckUtils]: 3: Hoare triple {35846#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35847#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:32:44,502 INFO L273 TraceCheckUtils]: 4: Hoare triple {35847#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:32:44,502 INFO L273 TraceCheckUtils]: 5: Hoare triple {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:32:44,503 INFO L273 TraceCheckUtils]: 6: Hoare triple {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2018-12-19 21:32:44,504 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:44,504 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:44,504 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:44,504 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-19 21:32:44,504 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [20], [24], [25] [2018-12-19 21:32:44,505 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:32:44,506 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:32:44,514 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:32:44,514 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-19 21:32:44,514 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:44,514 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:32:44,515 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:44,515 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 69 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 69 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:32:44,524 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:44,525 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:32:44,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:44,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:44,533 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:44,562 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:32:44,573 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:32:44,591 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,592 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:32:44,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,616 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:32:44,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,645 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,646 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,647 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:32:44,663 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:44,687 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:44,702 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:44,716 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:44,729 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:44,749 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:44,749 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2018-12-19 21:32:44,756 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:44,757 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_428|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_428| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:32:44,757 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:32:44,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,859 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,860 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,862 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,865 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:44,866 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:32:44,874 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:44,905 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:44,906 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2018-12-19 21:32:46,963 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:46,963 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_429|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_429| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_429| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_429| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_429| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_429| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:32:46,963 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:32:47,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,061 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,064 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,065 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,068 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,070 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2018-12-19 21:32:47,079 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:47,112 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:32:47,112 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:32 [2018-12-19 21:32:47,122 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:47,123 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_430|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_430| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_430| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_430| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_430| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_430| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:32:47,123 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:32:47,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,210 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,212 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,213 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,215 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,216 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,217 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:47,218 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,218 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 72 [2018-12-19 21:32:47,227 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:47,265 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:32:47,265 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:30 [2018-12-19 21:32:47,274 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:47,274 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_431|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_431| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_431| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_431| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_431| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_431| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:32:47,274 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:32:47,359 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,360 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,361 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,362 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,366 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,367 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,369 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:47,369 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:47,370 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 75 [2018-12-19 21:32:47,379 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:47,418 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:47,418 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2018-12-19 21:32:47,469 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:47,470 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_432|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_432| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_432| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_432| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_432| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (= (store |v_#memory_int_432| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:32:47,470 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:32:47,562 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {35852#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:32:47,564 INFO L273 TraceCheckUtils]: 1: Hoare triple {35852#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35856#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:32:47,566 INFO L273 TraceCheckUtils]: 2: Hoare triple {35856#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {35860#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:32:47,568 INFO L273 TraceCheckUtils]: 3: Hoare triple {35860#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35864#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:32:47,571 INFO L273 TraceCheckUtils]: 4: Hoare triple {35864#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:32:47,572 INFO L273 TraceCheckUtils]: 5: Hoare triple {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:32:47,572 INFO L273 TraceCheckUtils]: 6: Hoare triple {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2018-12-19 21:32:47,573 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:47,573 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:32:47,698 INFO L273 TraceCheckUtils]: 6: Hoare triple {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2018-12-19 21:32:47,699 INFO L273 TraceCheckUtils]: 5: Hoare triple {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:47,700 INFO L273 TraceCheckUtils]: 4: Hoare triple {35882#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:47,701 INFO L273 TraceCheckUtils]: 3: Hoare triple {35886#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35882#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:47,703 INFO L273 TraceCheckUtils]: 2: Hoare triple {35890#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {35886#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:47,705 INFO L273 TraceCheckUtils]: 1: Hoare triple {35894#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35890#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:47,707 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {35894#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:47,708 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:47,727 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:32:47,728 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-19 21:32:47,728 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:32:47,728 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-19 21:32:47,728 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:32:47,728 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:32:47,751 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:47,751 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:32:47,751 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:32:47,751 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=171, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:32:47,751 INFO L87 Difference]: Start difference. First operand 134 states and 693 transitions. Second operand 12 states. [2018-12-19 21:32:58,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:58,805 INFO L93 Difference]: Finished difference Result 181 states and 747 transitions. [2018-12-19 21:32:58,805 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:32:58,806 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-19 21:32:58,806 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:58,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:32:58,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2018-12-19 21:32:58,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:32:58,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2018-12-19 21:32:58,807 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2018-12-19 21:32:58,926 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:58,930 INFO L225 Difference]: With dead ends: 181 [2018-12-19 21:32:58,930 INFO L226 Difference]: Without dead ends: 180 [2018-12-19 21:32:58,930 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=133, Invalid=247, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:32:58,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states. [2018-12-19 21:33:08,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 134. [2018-12-19 21:33:08,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:33:08,054 INFO L82 GeneralOperation]: Start isEquivalent. First operand 180 states. Second operand 134 states. [2018-12-19 21:33:08,054 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand 134 states. [2018-12-19 21:33:08,054 INFO L87 Difference]: Start difference. First operand 180 states. Second operand 134 states. [2018-12-19 21:33:08,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:08,059 INFO L93 Difference]: Finished difference Result 180 states and 745 transitions. [2018-12-19 21:33:08,059 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 745 transitions. [2018-12-19 21:33:08,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:08,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:08,060 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 180 states. [2018-12-19 21:33:08,060 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 180 states. [2018-12-19 21:33:08,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:08,064 INFO L93 Difference]: Finished difference Result 180 states and 745 transitions. [2018-12-19 21:33:08,064 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 745 transitions. [2018-12-19 21:33:08,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:08,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:08,064 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:33:08,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:33:08,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2018-12-19 21:33:08,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 693 transitions. [2018-12-19 21:33:08,068 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 693 transitions. Word has length 7 [2018-12-19 21:33:08,068 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:33:08,068 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 693 transitions. [2018-12-19 21:33:08,068 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:33:08,068 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 693 transitions. [2018-12-19 21:33:08,068 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:33:08,068 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:33:08,069 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:33:08,069 INFO L423 AbstractCegarLoop]: === Iteration 72 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:33:08,069 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:08,069 INFO L82 PathProgramCache]: Analyzing trace with hash -2017938650, now seen corresponding path program 2 times [2018-12-19 21:33:08,069 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:33:08,069 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:08,070 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:33:08,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:08,070 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:33:08,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:08,458 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {36806#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:33:08,459 INFO L273 TraceCheckUtils]: 1: Hoare triple {36806#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:33:08,460 INFO L273 TraceCheckUtils]: 2: Hoare triple {36807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36808#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:33:08,461 INFO L273 TraceCheckUtils]: 3: Hoare triple {36808#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36809#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:33:08,462 INFO L273 TraceCheckUtils]: 4: Hoare triple {36809#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36810#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:33:08,463 INFO L273 TraceCheckUtils]: 5: Hoare triple {36810#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {36811#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:08,464 INFO L273 TraceCheckUtils]: 6: Hoare triple {36811#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2018-12-19 21:33:08,464 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:33:08,465 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:08,465 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:33:08,465 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:33:08,465 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:33:08,465 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:08,465 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 70 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 70 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:33:08,474 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:33:08,474 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:33:08,482 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-12-19 21:33:08,482 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:33:08,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:08,493 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:33:08,521 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:33:08,532 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,533 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:33:08,547 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,549 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:33:08,570 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,572 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,573 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,574 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:33:08,611 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,616 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:33:08,625 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:08,656 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:08,674 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:08,690 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:08,702 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:08,725 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:08,725 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2018-12-19 21:33:08,731 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:08,732 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_437|]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_437| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:33:08,732 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:33:08,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,888 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,892 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,894 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:08,895 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:33:08,904 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:08,948 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:33:08,948 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2018-12-19 21:33:09,181 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:09,181 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_438|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_438| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_438| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p1)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:33:09,181 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:33:09,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,278 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,287 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,288 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,289 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,290 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,292 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:33:09,300 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:09,350 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:33:09,351 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2018-12-19 21:33:09,362 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:09,362 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_439|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_439| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_439| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_439| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_439| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_439| ULTIMATE.start_main_p2) 0) (= (+ (select |v_#memory_int_439| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:33:09,362 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:33:09,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,462 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,463 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,465 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,466 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,467 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,469 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,470 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,471 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,472 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,474 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,475 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,476 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,476 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:33:09,477 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 98 [2018-12-19 21:33:09,485 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:09,543 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:33:09,543 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:33:09,560 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:09,560 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_440|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_440| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_440| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_440| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_440| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_440| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_440| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:33:09,560 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:33:09,660 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,663 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,664 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,666 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,668 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,669 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,670 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,671 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,672 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,673 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,674 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,675 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,676 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:33:09,677 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 94 [2018-12-19 21:33:09,685 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:09,742 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:33:09,742 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:33:09,753 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:09,754 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_441|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_441| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_441| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_441| ULTIMATE.start_main_p2)) (= .cse0 0) (= (select |v_#memory_int_441| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_441| ULTIMATE.start_main_p5) 1) (= (store |v_#memory_int_441| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2018-12-19 21:33:09,754 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:33:09,851 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,853 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,854 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,855 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,859 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,860 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,862 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,865 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:33:09,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,867 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 93 [2018-12-19 21:33:09,875 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:09,932 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:33:09,933 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:33:09,953 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:09,954 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_442|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_442| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_442| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_442| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_442| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 1 (select |v_#memory_int_442| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |v_#memory_int_442| ULTIMATE.start_main_p4) 1) 0))) [2018-12-19 21:33:09,954 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:33:10,031 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {36815#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:33:10,033 INFO L273 TraceCheckUtils]: 1: Hoare triple {36815#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36819#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:33:10,035 INFO L273 TraceCheckUtils]: 2: Hoare triple {36819#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36823#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:33:10,037 INFO L273 TraceCheckUtils]: 3: Hoare triple {36823#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:33:10,041 INFO L273 TraceCheckUtils]: 4: Hoare triple {36827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:33:10,049 INFO L273 TraceCheckUtils]: 5: Hoare triple {36831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {36835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:33:10,049 INFO L273 TraceCheckUtils]: 6: Hoare triple {36835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2018-12-19 21:33:10,050 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:33:10,050 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:33:10,237 INFO L273 TraceCheckUtils]: 6: Hoare triple {36839#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2018-12-19 21:33:10,238 INFO L273 TraceCheckUtils]: 5: Hoare triple {36843#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {36839#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:10,239 INFO L273 TraceCheckUtils]: 4: Hoare triple {36847#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36843#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:10,241 INFO L273 TraceCheckUtils]: 3: Hoare triple {36851#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36847#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:10,243 INFO L273 TraceCheckUtils]: 2: Hoare triple {36855#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36851#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:10,247 INFO L273 TraceCheckUtils]: 1: Hoare triple {36859#(<= 0 (select (store (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36855#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:10,249 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {36859#(<= 0 (select (store (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:10,250 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:33:10,270 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:33:10,270 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 18 [2018-12-19 21:33:10,270 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:33:10,271 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2018-12-19 21:33:10,271 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:33:10,271 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-12-19 21:33:10,300 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:33:10,301 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-12-19 21:33:10,301 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-12-19 21:33:10,301 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=141, Invalid=239, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:33:10,301 INFO L87 Difference]: Start difference. First operand 134 states and 693 transitions. Second operand 14 states. [2018-12-19 21:33:23,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:23,172 INFO L93 Difference]: Finished difference Result 200 states and 825 transitions. [2018-12-19 21:33:23,172 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-12-19 21:33:23,172 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2018-12-19 21:33:23,172 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:33:23,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-12-19 21:33:23,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2018-12-19 21:33:23,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-12-19 21:33:23,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2018-12-19 21:33:23,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 98 transitions. [2018-12-19 21:33:23,402 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:33:23,406 INFO L225 Difference]: With dead ends: 200 [2018-12-19 21:33:23,406 INFO L226 Difference]: Without dead ends: 199 [2018-12-19 21:33:23,406 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 150 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=191, Invalid=361, Unknown=0, NotChecked=0, Total=552 [2018-12-19 21:33:23,407 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 199 states. [2018-12-19 21:33:32,321 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 199 to 131. [2018-12-19 21:33:32,321 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:33:32,321 INFO L82 GeneralOperation]: Start isEquivalent. First operand 199 states. Second operand 131 states. [2018-12-19 21:33:32,321 INFO L74 IsIncluded]: Start isIncluded. First operand 199 states. Second operand 131 states. [2018-12-19 21:33:32,322 INFO L87 Difference]: Start difference. First operand 199 states. Second operand 131 states. [2018-12-19 21:33:32,327 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:32,327 INFO L93 Difference]: Finished difference Result 199 states and 822 transitions. [2018-12-19 21:33:32,327 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 822 transitions. [2018-12-19 21:33:32,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:32,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:32,328 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 199 states. [2018-12-19 21:33:32,328 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 199 states. [2018-12-19 21:33:32,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:32,332 INFO L93 Difference]: Finished difference Result 199 states and 822 transitions. [2018-12-19 21:33:32,332 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 822 transitions. [2018-12-19 21:33:32,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:32,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:32,333 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:33:32,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:33:32,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 131 states. [2018-12-19 21:33:32,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 674 transitions. [2018-12-19 21:33:32,336 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 674 transitions. Word has length 7 [2018-12-19 21:33:32,336 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:33:32,336 INFO L480 AbstractCegarLoop]: Abstraction has 131 states and 674 transitions. [2018-12-19 21:33:32,336 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-12-19 21:33:32,336 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 674 transitions. [2018-12-19 21:33:32,337 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:33:32,337 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:33:32,337 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:33:32,337 INFO L423 AbstractCegarLoop]: === Iteration 73 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:33:32,337 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:32,337 INFO L82 PathProgramCache]: Analyzing trace with hash -2030969310, now seen corresponding path program 1 times [2018-12-19 21:33:32,338 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:33:32,338 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:32,338 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:33:32,338 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:32,338 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:33:32,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:32,675 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {37836#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:33:32,676 INFO L273 TraceCheckUtils]: 1: Hoare triple {37836#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:33:32,677 INFO L273 TraceCheckUtils]: 2: Hoare triple {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:33:32,678 INFO L273 TraceCheckUtils]: 3: Hoare triple {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:33:32,679 INFO L273 TraceCheckUtils]: 4: Hoare triple {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:33:32,679 INFO L273 TraceCheckUtils]: 5: Hoare triple {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {37839#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:33:32,680 INFO L273 TraceCheckUtils]: 6: Hoare triple {37839#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2018-12-19 21:33:32,680 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:33:32,680 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:32,681 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:33:32,681 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-19 21:33:32,681 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [24], [26], [27] [2018-12-19 21:33:32,682 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:33:32,682 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:33:32,697 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:33:32,697 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:33:32,697 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:32,698 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:33:32,698 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:32,698 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 71 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 71 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:33:32,708 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:33:32,708 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:33:32,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:32,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:32,717 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:33:32,749 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:33:32,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:32,763 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:33:32,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:32,780 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:32,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, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:33:32,805 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:32,807 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:32,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:32,809 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:33:32,842 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:32,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:32,844 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:32,845 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:32,845 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:33:32,855 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:32,887 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:32,906 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:32,920 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:32,933 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:32,956 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:33:32,956 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:33:32,963 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:32,963 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_448|, ULTIMATE.start_main_p5]. (and (= (store (store (store (store (store |v_#memory_int_448| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:33:32,964 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:33:33,064 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,065 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,068 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,072 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,076 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,077 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:33:33,086 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,134 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:33:33,134 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:33:33,145 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:33,145 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_449|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_449| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_449| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_449| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_449| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_449| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_449| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:33:33,145 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:33:33,251 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,255 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,256 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,257 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,259 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,260 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,261 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,263 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,266 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,267 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:33:33,290 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,345 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:33:33,345 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:33:33,363 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:33,364 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_450|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_450| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_450| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_450| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_450| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_450| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (+ (select |v_#memory_int_450| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:33:33,364 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:33:33,470 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,471 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,472 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,473 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,475 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,476 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,477 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,478 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,479 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,495 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,496 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,497 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,497 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:33:33,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,499 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:33:33,507 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,563 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:33:33,564 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:33:33,760 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:33,761 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_451|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_451| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 1 (select |v_#memory_int_451| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_451| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_451| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_451| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_451| ULTIMATE.start_main_p4) 1)))) [2018-12-19 21:33:33,761 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:33:33,902 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {37843#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:33:33,904 INFO L273 TraceCheckUtils]: 1: Hoare triple {37843#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37847#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:33:33,906 INFO L273 TraceCheckUtils]: 2: Hoare triple {37847#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37851#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:33:33,909 INFO L273 TraceCheckUtils]: 3: Hoare triple {37851#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:33:33,909 INFO L273 TraceCheckUtils]: 4: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:33:33,910 INFO L273 TraceCheckUtils]: 5: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:33:33,911 INFO L273 TraceCheckUtils]: 6: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2018-12-19 21:33:33,912 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:33:33,912 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:33:34,014 INFO L273 TraceCheckUtils]: 6: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2018-12-19 21:33:34,015 INFO L273 TraceCheckUtils]: 5: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:33:34,016 INFO L273 TraceCheckUtils]: 4: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:33:34,017 INFO L273 TraceCheckUtils]: 3: Hoare triple {37875#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:33:34,018 INFO L273 TraceCheckUtils]: 2: Hoare triple {37879#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37875#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:33:34,020 INFO L273 TraceCheckUtils]: 1: Hoare triple {37883#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37879#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:33:34,022 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {37883#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:33:34,023 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:33:34,043 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:33:34,043 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:33:34,043 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:33:34,043 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2018-12-19 21:33:34,044 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:33:34,044 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:33:34,070 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:33:34,070 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:33:34,070 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:33:34,070 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:33:34,071 INFO L87 Difference]: Start difference. First operand 131 states and 674 transitions. Second operand 10 states. [2018-12-19 21:33:45,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:45,154 INFO L93 Difference]: Finished difference Result 160 states and 731 transitions. [2018-12-19 21:33:45,154 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:33:45,154 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2018-12-19 21:33:45,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:33:45,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:33:45,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-19 21:33:45,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:33:45,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-19 21:33:45,155 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2018-12-19 21:33:45,250 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:33:45,253 INFO L225 Difference]: With dead ends: 160 [2018-12-19 21:33:45,253 INFO L226 Difference]: Without dead ends: 159 [2018-12-19 21:33:45,253 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 4 SyntacticMatches, 2 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:33:45,254 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2018-12-19 21:33:55,204 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 137. [2018-12-19 21:33:55,204 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:33:55,204 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand 137 states. [2018-12-19 21:33:55,204 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 137 states. [2018-12-19 21:33:55,204 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 137 states. [2018-12-19 21:33:55,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:55,208 INFO L93 Difference]: Finished difference Result 159 states and 729 transitions. [2018-12-19 21:33:55,208 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 729 transitions. [2018-12-19 21:33:55,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:55,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:55,208 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 159 states. [2018-12-19 21:33:55,209 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 159 states. [2018-12-19 21:33:55,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:55,212 INFO L93 Difference]: Finished difference Result 159 states and 729 transitions. [2018-12-19 21:33:55,212 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 729 transitions. [2018-12-19 21:33:55,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:55,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:55,213 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:33:55,213 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:33:55,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-12-19 21:33:55,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 710 transitions. [2018-12-19 21:33:55,216 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 710 transitions. Word has length 7 [2018-12-19 21:33:55,216 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:33:55,216 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 710 transitions. [2018-12-19 21:33:55,216 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:33:55,216 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 710 transitions. [2018-12-19 21:33:55,217 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:33:55,217 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:33:55,217 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:33:55,217 INFO L423 AbstractCegarLoop]: === Iteration 74 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:33:55,217 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:55,217 INFO L82 PathProgramCache]: Analyzing trace with hash -2030863664, now seen corresponding path program 1 times [2018-12-19 21:33:55,218 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:33:55,218 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:55,218 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:33:55,218 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:55,218 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:33:55,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:55,509 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {38739#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:33:55,510 INFO L273 TraceCheckUtils]: 1: Hoare triple {38739#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:33:55,511 INFO L273 TraceCheckUtils]: 2: Hoare triple {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:33:55,512 INFO L273 TraceCheckUtils]: 3: Hoare triple {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38741#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:55,513 INFO L273 TraceCheckUtils]: 4: Hoare triple {38741#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:33:55,513 INFO L273 TraceCheckUtils]: 5: Hoare triple {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:33:55,514 INFO L273 TraceCheckUtils]: 6: Hoare triple {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2018-12-19 21:33:55,514 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:33:55,515 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:55,515 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:33:55,515 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-19 21:33:55,515 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [24], [25] [2018-12-19 21:33:55,516 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:33:55,516 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:33:55,545 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:33:55,545 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-19 21:33:55,545 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:55,545 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:33:55,546 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:55,546 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 72 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 72 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:33:55,554 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:33:55,554 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:33:55,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:55,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:55,565 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:33:55,601 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:33:55,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,613 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:33:55,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,630 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,631 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:33:55,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:33:55,785 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,786 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,787 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,789 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,789 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:33:55,797 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:55,828 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:55,846 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:55,862 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:55,873 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:55,895 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:33:55,895 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:33:55,903 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:55,903 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_455|, ULTIMATE.start_main_p5]. (and (= (store (store (store (store (store |v_#memory_int_455| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:33:55,904 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:33:55,995 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,997 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:55,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,000 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,001 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,007 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:33:56,016 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:56,063 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:33:56,063 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:33:56,075 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:56,076 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_456|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_456| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_456| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_456| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_456| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_456| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (= (select |v_#memory_int_456| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:33:56,076 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:33:56,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,181 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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:33:56,196 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:56,249 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:33:56,249 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-19 21:33:56,264 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:56,265 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_457|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_457| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p2)) (= 0 .cse0) (= (+ (select |v_#memory_int_457| ULTIMATE.start_main_p4) 1) 0) (= (store |v_#memory_int_457| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p3)))) [2018-12-19 21:33:56,265 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:33:56,350 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,352 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,353 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,354 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,356 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,357 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,358 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,360 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,361 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,362 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,363 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,366 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,367 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,368 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:33:56,369 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 104 [2018-12-19 21:33:56,378 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:56,437 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:33:56,438 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-19 21:33:56,520 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:56,520 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_458|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_458| ULTIMATE.start_main_p3))) (and (= 0 (+ (select |v_#memory_int_458| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_458| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 .cse0) (= 0 (select |v_#memory_int_458| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_458| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_458| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:33:56,520 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:33:56,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,617 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,618 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,627 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,628 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:33:56,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:56,630 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:33:56,640 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:56,695 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:33:56,695 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-19 21:33:56,842 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:56,842 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_459|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_459| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_459| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_459| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_459| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_459| ULTIMATE.start_main_p3) 1) (= 0 (+ (select |v_#memory_int_459| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:33:56,842 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:33:56,935 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {38746#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:33:56,937 INFO L273 TraceCheckUtils]: 1: Hoare triple {38746#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38750#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:33:56,940 INFO L273 TraceCheckUtils]: 2: Hoare triple {38750#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38754#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:33:56,943 INFO L273 TraceCheckUtils]: 3: Hoare triple {38754#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38758#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:33:56,946 INFO L273 TraceCheckUtils]: 4: Hoare triple {38758#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:33:56,946 INFO L273 TraceCheckUtils]: 5: Hoare triple {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:33:56,947 INFO L273 TraceCheckUtils]: 6: Hoare triple {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2018-12-19 21:33:56,947 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:33:56,947 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:33:57,066 INFO L273 TraceCheckUtils]: 6: Hoare triple {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2018-12-19 21:33:57,066 INFO L273 TraceCheckUtils]: 5: Hoare triple {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:57,067 INFO L273 TraceCheckUtils]: 4: Hoare triple {38776#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:57,068 INFO L273 TraceCheckUtils]: 3: Hoare triple {38780#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38776#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:33:57,070 INFO L273 TraceCheckUtils]: 2: Hoare triple {38784#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38780#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:33:57,072 INFO L273 TraceCheckUtils]: 1: Hoare triple {38788#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38784#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:33:57,074 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {38788#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:33:57,074 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:33:57,094 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:33:57,094 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2018-12-19 21:33:57,095 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:33:57,095 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2018-12-19 21:33:57,095 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:33:57,095 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-12-19 21:33:57,120 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:33:57,120 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-12-19 21:33:57,120 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-12-19 21:33:57,120 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:33:57,120 INFO L87 Difference]: Start difference. First operand 137 states and 710 transitions. Second operand 11 states. [2018-12-19 21:34:10,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:34:10,342 INFO L93 Difference]: Finished difference Result 197 states and 846 transitions. [2018-12-19 21:34:10,342 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:34:10,342 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2018-12-19 21:34:10,342 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:34:10,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-19 21:34:10,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2018-12-19 21:34:10,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-19 21:34:10,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2018-12-19 21:34:10,343 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 84 transitions. [2018-12-19 21:34:10,480 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:34:10,484 INFO L225 Difference]: With dead ends: 197 [2018-12-19 21:34:10,484 INFO L226 Difference]: Without dead ends: 196 [2018-12-19 21:34:10,484 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 84 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=120, Invalid=222, Unknown=0, NotChecked=0, Total=342 [2018-12-19 21:34:10,484 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2018-12-19 21:34:20,524 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 140. [2018-12-19 21:34:20,524 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:34:20,524 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand 140 states. [2018-12-19 21:34:20,524 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand 140 states. [2018-12-19 21:34:20,524 INFO L87 Difference]: Start difference. First operand 196 states. Second operand 140 states. [2018-12-19 21:34:20,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:34:20,530 INFO L93 Difference]: Finished difference Result 196 states and 844 transitions. [2018-12-19 21:34:20,530 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 844 transitions. [2018-12-19 21:34:20,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:34:20,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:34:20,531 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 196 states. [2018-12-19 21:34:20,531 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 196 states. [2018-12-19 21:34:20,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:34:20,535 INFO L93 Difference]: Finished difference Result 196 states and 844 transitions. [2018-12-19 21:34:20,535 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 844 transitions. [2018-12-19 21:34:20,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:34:20,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:34:20,536 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:34:20,536 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:34:20,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 140 states. [2018-12-19 21:34:20,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 728 transitions. [2018-12-19 21:34:20,539 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 728 transitions. Word has length 7 [2018-12-19 21:34:20,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:34:20,539 INFO L480 AbstractCegarLoop]: Abstraction has 140 states and 728 transitions. [2018-12-19 21:34:20,540 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-12-19 21:34:20,540 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 728 transitions. [2018-12-19 21:34:20,540 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:34:20,540 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:34:20,540 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:34:20,540 INFO L423 AbstractCegarLoop]: === Iteration 75 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:34:20,540 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:34:20,540 INFO L82 PathProgramCache]: Analyzing trace with hash -2026994678, now seen corresponding path program 2 times [2018-12-19 21:34:20,541 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:34:20,541 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:34:20,541 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:34:20,541 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:34:20,541 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:34:20,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:34:21,074 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {39777#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:34:21,075 INFO L273 TraceCheckUtils]: 1: Hoare triple {39777#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39778#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:34:21,076 INFO L273 TraceCheckUtils]: 2: Hoare triple {39778#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39779#(and (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:34:21,077 INFO L273 TraceCheckUtils]: 3: Hoare triple {39779#(and (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:34:21,078 INFO L273 TraceCheckUtils]: 4: Hoare triple {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:34:21,079 INFO L273 TraceCheckUtils]: 5: Hoare triple {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {39781#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:34:21,080 INFO L273 TraceCheckUtils]: 6: Hoare triple {39781#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2018-12-19 21:34:21,080 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:34:21,080 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:34:21,080 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:34:21,081 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:34:21,081 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:34:21,081 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:34:21,081 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 73 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 73 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:34:21,091 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:34:21,091 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:34:21,098 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:34:21,098 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:34:21,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:34:21,101 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:34:21,134 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:34:21,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,146 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:34:21,162 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,163 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,163 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:34:21,184 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,185 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,186 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,187 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:34:21,217 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,218 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,219 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,220 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,221 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:34:21,230 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:34:21,263 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:34:21,282 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:34:21,296 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:34:21,309 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:34:21,332 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:34:21,332 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:34:21,340 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:34:21,341 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_464|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_464| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:34:21,341 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:34:21,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,446 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,448 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,449 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,450 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,451 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,453 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,454 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,455 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,457 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,458 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:21,459 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:34:21,467 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:34:21,516 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:34:21,516 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:34:23,544 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:34:23,544 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_465|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_465| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_465| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_465| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_465| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= .cse0 0) (= (select |v_#memory_int_465| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_465| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:34:23,544 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:34:23,650 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,652 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,653 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,654 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,655 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,656 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,658 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,659 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,660 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,661 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,663 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:34:23,663 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:34:23,672 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:34:23,726 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:34:23,727 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:38 [2018-12-19 21:34:23,743 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:34:23,743 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_466|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_466| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_466| ULTIMATE.start_main_p1)) (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_466| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_466| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_466| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_466| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:34:23,743 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:34:23,844 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,845 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,846 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,848 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,849 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,850 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,852 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,853 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,854 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,859 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:23,860 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 82 [2018-12-19 21:34:23,876 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:34:23,926 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:34:23,927 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:52, output treesize:42 [2018-12-19 21:34:23,964 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:34:23,965 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_467|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_467| ULTIMATE.start_main_p5))) (and (= (+ (select |v_#memory_int_467| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_467| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (+ (select |v_#memory_int_467| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_467| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_467| ULTIMATE.start_main_p3)))) [2018-12-19 21:34:23,965 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:34:24,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,064 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,065 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,068 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,072 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,076 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,077 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,078 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,079 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:24,080 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:34:24,080 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 96 [2018-12-19 21:34:24,091 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:34:24,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:34:24,143 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-19 21:34:24,174 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:34:24,175 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_468|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_468| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_468| ULTIMATE.start_main_p2) 1) 0) (= 0 (+ (select |v_#memory_int_468| ULTIMATE.start_main_p4) 1)) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_468| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_468| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_468| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-19 21:34:24,175 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:34:24,266 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {39785#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:34:24,269 INFO L273 TraceCheckUtils]: 1: Hoare triple {39785#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39789#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-19 21:34:24,271 INFO L273 TraceCheckUtils]: 2: Hoare triple {39789#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39793#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-19 21:34:24,274 INFO L273 TraceCheckUtils]: 3: Hoare triple {39793#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {39797#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:34:24,278 INFO L273 TraceCheckUtils]: 4: Hoare triple {39797#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:34:24,279 INFO L273 TraceCheckUtils]: 5: Hoare triple {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:34:24,280 INFO L273 TraceCheckUtils]: 6: Hoare triple {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2018-12-19 21:34:24,281 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:34:24,281 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:34:24,420 INFO L273 TraceCheckUtils]: 6: Hoare triple {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2018-12-19 21:34:24,421 INFO L273 TraceCheckUtils]: 5: Hoare triple {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:34:24,422 INFO L273 TraceCheckUtils]: 4: Hoare triple {39815#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:34:24,423 INFO L273 TraceCheckUtils]: 3: Hoare triple {39819#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {39815#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:34:24,425 INFO L273 TraceCheckUtils]: 2: Hoare triple {39823#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39819#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:34:24,427 INFO L273 TraceCheckUtils]: 1: Hoare triple {39827#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39823#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:34:24,430 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {39827#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:34:24,430 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:34:24,450 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:34:24,450 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-19 21:34:24,450 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:34:24,451 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-19 21:34:24,451 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:34:24,451 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:34:24,477 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:34:24,477 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:34:24,477 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:34:24,478 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:34:24,478 INFO L87 Difference]: Start difference. First operand 140 states and 728 transitions. Second operand 12 states. [2018-12-19 21:34:38,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:34:38,521 INFO L93 Difference]: Finished difference Result 195 states and 830 transitions. [2018-12-19 21:34:38,521 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:34:38,521 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-19 21:34:38,521 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:34:38,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:34:38,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2018-12-19 21:34:38,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:34:38,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2018-12-19 21:34:38,522 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 84 transitions. [2018-12-19 21:34:38,662 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:34:38,665 INFO L225 Difference]: With dead ends: 195 [2018-12-19 21:34:38,665 INFO L226 Difference]: Without dead ends: 189 [2018-12-19 21:34:38,666 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:34:38,666 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 189 states. [2018-12-19 21:34:49,512 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 189 to 139. [2018-12-19 21:34:49,512 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:34:49,513 INFO L82 GeneralOperation]: Start isEquivalent. First operand 189 states. Second operand 139 states. [2018-12-19 21:34:49,513 INFO L74 IsIncluded]: Start isIncluded. First operand 189 states. Second operand 139 states. [2018-12-19 21:34:49,513 INFO L87 Difference]: Start difference. First operand 189 states. Second operand 139 states. [2018-12-19 21:34:49,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:34:49,518 INFO L93 Difference]: Finished difference Result 189 states and 822 transitions. [2018-12-19 21:34:49,518 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 822 transitions. [2018-12-19 21:34:49,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:34:49,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:34:49,519 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 189 states. [2018-12-19 21:34:49,519 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 189 states. [2018-12-19 21:34:49,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:34:49,523 INFO L93 Difference]: Finished difference Result 189 states and 822 transitions. [2018-12-19 21:34:49,523 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 822 transitions. [2018-12-19 21:34:49,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:34:49,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:34:49,524 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:34:49,524 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:34:49,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 139 states. [2018-12-19 21:34:49,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 721 transitions. [2018-12-19 21:34:49,527 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 721 transitions. Word has length 7 [2018-12-19 21:34:49,527 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:34:49,527 INFO L480 AbstractCegarLoop]: Abstraction has 139 states and 721 transitions. [2018-12-19 21:34:49,528 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:34:49,528 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 721 transitions. [2018-12-19 21:34:49,528 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:34:49,528 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:34:49,528 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:34:49,528 INFO L423 AbstractCegarLoop]: === Iteration 76 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:34:49,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:34:49,528 INFO L82 PathProgramCache]: Analyzing trace with hash -2026977316, now seen corresponding path program 1 times [2018-12-19 21:34:49,528 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:34:49,529 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:34:49,529 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:34:49,529 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:34:49,529 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:34:49,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:34:49,852 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {40795#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:34:49,853 INFO L273 TraceCheckUtils]: 1: Hoare triple {40795#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:34:49,854 INFO L273 TraceCheckUtils]: 2: Hoare triple {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:34:49,855 INFO L273 TraceCheckUtils]: 3: Hoare triple {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:34:49,856 INFO L273 TraceCheckUtils]: 4: Hoare triple {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:34:49,856 INFO L273 TraceCheckUtils]: 5: Hoare triple {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {40798#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-19 21:34:49,857 INFO L273 TraceCheckUtils]: 6: Hoare triple {40798#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2018-12-19 21:34:49,857 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:34:49,857 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:34:49,857 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:34:49,858 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-19 21:34:49,858 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [20], [24], [26], [27] [2018-12-19 21:34:49,861 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:34:49,862 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:34:49,876 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:34:49,876 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:34:49,876 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:34:49,876 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:34:49,877 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:34:49,877 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 74 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 74 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:34:49,887 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:34:49,887 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:34:49,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:34:49,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:34:49,896 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:34:49,925 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:34:49,935 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:34:49,953 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:49,954 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:34:49,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:49,977 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:49,977 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:34:50,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:50,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:50,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:50,011 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:34:50,020 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:34:50,042 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:34:50,058 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:34:50,071 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:34:50,085 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:34:50,105 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:34:50,106 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2018-12-19 21:34:50,112 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:34:50,113 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_473|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_473| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2018-12-19 21:34:50,113 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:34:50,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:50,215 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:50,217 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:50,218 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:50,219 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:50,220 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:50,221 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:50,222 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:34:50,230 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:34:50,262 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:34:50,262 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2018-12-19 21:34:52,271 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:34:52,271 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_474|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_474| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_474| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:34:52,271 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:34:52,358 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:52,360 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:52,361 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:52,362 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:52,363 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:52,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:52,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:52,366 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:34:52,367 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 60 [2018-12-19 21:34:52,375 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:34:52,411 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:34:52,411 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:30 [2018-12-19 21:34:54,422 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:34:54,422 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_475|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_475| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_475| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_475| ULTIMATE.start_main_p5)) (= .cse0 0) (= (+ (select |v_#memory_int_475| ULTIMATE.start_main_p4) 1) 0) (= (store |v_#memory_int_475| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:34:54,422 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:34:54,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:54,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:54,509 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:54,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:54,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:54,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:54,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:54,514 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:54,515 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:34:54,516 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 61 [2018-12-19 21:34:54,524 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:34:54,559 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:34:54,559 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2018-12-19 21:34:54,642 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:34:54,642 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_476|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_476| ULTIMATE.start_main_p5))) (and (= (+ (select |v_#memory_int_476| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_476| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_476| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= 0 (+ (select |v_#memory_int_476| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:34:54,642 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:34:54,794 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {40802#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:34:54,796 INFO L273 TraceCheckUtils]: 1: Hoare triple {40802#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40806#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:34:54,797 INFO L273 TraceCheckUtils]: 2: Hoare triple {40806#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40810#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:34:54,799 INFO L273 TraceCheckUtils]: 3: Hoare triple {40810#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:34:54,800 INFO L273 TraceCheckUtils]: 4: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:34:54,801 INFO L273 TraceCheckUtils]: 5: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-19 21:34:54,802 INFO L273 TraceCheckUtils]: 6: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2018-12-19 21:34:54,803 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:34:54,803 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:34:54,915 INFO L273 TraceCheckUtils]: 6: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2018-12-19 21:34:54,916 INFO L273 TraceCheckUtils]: 5: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:34:54,917 INFO L273 TraceCheckUtils]: 4: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:34:54,918 INFO L273 TraceCheckUtils]: 3: Hoare triple {40834#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:34:54,919 INFO L273 TraceCheckUtils]: 2: Hoare triple {40838#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40834#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:34:54,921 INFO L273 TraceCheckUtils]: 1: Hoare triple {40842#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40838#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:34:54,923 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {40842#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:34:54,924 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:34:54,944 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:34:54,944 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:34:54,944 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:34:54,944 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2018-12-19 21:34:54,945 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:34:54,945 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:34:54,965 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:34:54,966 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:34:54,966 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:34:54,966 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:34:54,966 INFO L87 Difference]: Start difference. First operand 139 states and 721 transitions. Second operand 10 states. [2018-12-19 21:35:08,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:35:08,039 INFO L93 Difference]: Finished difference Result 157 states and 743 transitions. [2018-12-19 21:35:08,039 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:35:08,039 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2018-12-19 21:35:08,039 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:35:08,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:35:08,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 53 transitions. [2018-12-19 21:35:08,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:35:08,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 53 transitions. [2018-12-19 21:35:08,040 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 53 transitions. [2018-12-19 21:35:08,116 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:35:08,120 INFO L225 Difference]: With dead ends: 157 [2018-12-19 21:35:08,120 INFO L226 Difference]: Without dead ends: 156 [2018-12-19 21:35:08,120 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:35:08,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2018-12-19 21:35:20,028 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 137. [2018-12-19 21:35:20,029 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:35:20,029 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand 137 states. [2018-12-19 21:35:20,029 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 137 states. [2018-12-19 21:35:20,029 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 137 states. [2018-12-19 21:35:20,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:35:20,034 INFO L93 Difference]: Finished difference Result 156 states and 740 transitions. [2018-12-19 21:35:20,034 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 740 transitions. [2018-12-19 21:35:20,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:35:20,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:35:20,034 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 156 states. [2018-12-19 21:35:20,034 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 156 states. [2018-12-19 21:35:20,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:35:20,038 INFO L93 Difference]: Finished difference Result 156 states and 740 transitions. [2018-12-19 21:35:20,038 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 740 transitions. [2018-12-19 21:35:20,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:35:20,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:35:20,038 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:35:20,038 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:35:20,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-12-19 21:35:20,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 718 transitions. [2018-12-19 21:35:20,042 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 718 transitions. Word has length 7 [2018-12-19 21:35:20,042 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:35:20,042 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 718 transitions. [2018-12-19 21:35:20,042 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:35:20,042 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 718 transitions. [2018-12-19 21:35:20,042 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:35:20,042 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:35:20,043 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:35:20,043 INFO L423 AbstractCegarLoop]: === Iteration 77 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:35:20,043 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:35:20,043 INFO L82 PathProgramCache]: Analyzing trace with hash -2026986990, now seen corresponding path program 2 times [2018-12-19 21:35:20,043 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:35:20,044 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:35:20,044 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:35:20,044 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:35:20,044 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:35:20,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:35:20,361 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {41694#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:35:20,363 INFO L273 TraceCheckUtils]: 1: Hoare triple {41694#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41695#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:35:20,364 INFO L273 TraceCheckUtils]: 2: Hoare triple {41695#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41696#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:35:20,365 INFO L273 TraceCheckUtils]: 3: Hoare triple {41696#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41697#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:35:20,365 INFO L273 TraceCheckUtils]: 4: Hoare triple {41697#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:35:20,366 INFO L273 TraceCheckUtils]: 5: Hoare triple {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-19 21:35:20,367 INFO L273 TraceCheckUtils]: 6: Hoare triple {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2018-12-19 21:35:20,367 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:35:20,367 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:35:20,368 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:35:20,368 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:35:20,368 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-19 21:35:20,368 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:35:20,368 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 75 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 75 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:35:20,378 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:35:20,378 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:35:20,385 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:35:20,385 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:35:20,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:35:20,388 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:35:20,419 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:35:20,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, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-19 21:35:20,447 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,448 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-19 21:35:20,472 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,474 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,475 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-19 21:35:20,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,508 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:35:20,518 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:35:20,541 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:35:20,555 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:35:20,569 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:35:20,582 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:35:20,603 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:35:20,603 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2018-12-19 21:35:20,619 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:35:20,619 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_480|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_480| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:35:20,619 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:35:20,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,729 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,730 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,733 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:20,736 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:35:20,745 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:35:20,776 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:35:20,776 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2018-12-19 21:35:22,786 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:35:22,786 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_481|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_481| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_481| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_481| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_481| ULTIMATE.start_main_p5) 0) (= .cse0 0) (= (select |v_#memory_int_481| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:35:22,786 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:35:22,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:22,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:22,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:22,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:22,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:22,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:22,887 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:22,888 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:35:22,888 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 60 [2018-12-19 21:35:22,898 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:35:22,933 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:35:22,933 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:42, output treesize:30 [2018-12-19 21:35:22,955 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:35:22,955 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_482|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_482| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_482| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_482| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_482| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_482| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:35:22,956 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:35:23,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,056 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,057 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 61 [2018-12-19 21:35:23,066 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:35:23,102 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:35:23,102 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:44, output treesize:34 [2018-12-19 21:35:23,111 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:35:23,112 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_483|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_483| ULTIMATE.start_main_p5))) (and (= 0 (+ (select |v_#memory_int_483| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_483| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (select |v_#memory_int_483| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_483| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:35:23,112 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:35:23,203 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,204 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,207 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,209 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,210 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,212 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,213 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:23,214 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:35:23,214 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 75 [2018-12-19 21:35:23,224 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:35:23,262 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:35:23,262 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2018-12-19 21:35:23,275 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:35:23,275 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_484|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_484| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_484| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_484| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_484| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_484| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:35:23,275 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:35:23,361 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {41702#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:35:23,362 INFO L273 TraceCheckUtils]: 1: Hoare triple {41702#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41706#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:35:23,364 INFO L273 TraceCheckUtils]: 2: Hoare triple {41706#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41710#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:35:23,366 INFO L273 TraceCheckUtils]: 3: Hoare triple {41710#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41714#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:35:23,369 INFO L273 TraceCheckUtils]: 4: Hoare triple {41714#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:35:23,370 INFO L273 TraceCheckUtils]: 5: Hoare triple {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:35:23,371 INFO L273 TraceCheckUtils]: 6: Hoare triple {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2018-12-19 21:35:23,371 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:35:23,372 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:35:23,535 INFO L273 TraceCheckUtils]: 6: Hoare triple {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2018-12-19 21:35:23,536 INFO L273 TraceCheckUtils]: 5: Hoare triple {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:23,537 INFO L273 TraceCheckUtils]: 4: Hoare triple {41732#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:23,538 INFO L273 TraceCheckUtils]: 3: Hoare triple {41736#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41732#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:23,539 INFO L273 TraceCheckUtils]: 2: Hoare triple {41740#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41736#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:23,542 INFO L273 TraceCheckUtils]: 1: Hoare triple {41744#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41740#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:23,544 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {41744#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:23,544 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:35:23,564 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:35:23,564 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-19 21:35:23,564 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:35:23,564 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-19 21:35:23,564 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:35:23,564 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:35:23,587 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:35:23,588 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:35:23,588 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:35:23,588 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:35:23,588 INFO L87 Difference]: Start difference. First operand 137 states and 718 transitions. Second operand 12 states. [2018-12-19 21:35:37,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:35:37,409 INFO L93 Difference]: Finished difference Result 178 states and 767 transitions. [2018-12-19 21:35:37,409 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:35:37,409 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-19 21:35:37,410 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:35:37,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:35:37,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2018-12-19 21:35:37,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:35:37,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2018-12-19 21:35:37,411 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 78 transitions. [2018-12-19 21:35:37,522 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:35:37,526 INFO L225 Difference]: With dead ends: 178 [2018-12-19 21:35:37,526 INFO L226 Difference]: Without dead ends: 177 [2018-12-19 21:35:37,526 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2018-12-19 21:35:37,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2018-12-19 21:35:48,373 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 123. [2018-12-19 21:35:48,373 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:35:48,373 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand 123 states. [2018-12-19 21:35:48,373 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand 123 states. [2018-12-19 21:35:48,373 INFO L87 Difference]: Start difference. First operand 177 states. Second operand 123 states. [2018-12-19 21:35:48,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:35:48,378 INFO L93 Difference]: Finished difference Result 177 states and 764 transitions. [2018-12-19 21:35:48,378 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 764 transitions. [2018-12-19 21:35:48,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:35:48,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:35:48,379 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 177 states. [2018-12-19 21:35:48,379 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 177 states. [2018-12-19 21:35:48,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:35:48,383 INFO L93 Difference]: Finished difference Result 177 states and 764 transitions. [2018-12-19 21:35:48,383 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 764 transitions. [2018-12-19 21:35:48,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:35:48,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:35:48,383 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:35:48,383 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:35:48,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2018-12-19 21:35:48,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 634 transitions. [2018-12-19 21:35:48,386 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 634 transitions. Word has length 7 [2018-12-19 21:35:48,386 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:35:48,386 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 634 transitions. [2018-12-19 21:35:48,387 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-19 21:35:48,387 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 634 transitions. [2018-12-19 21:35:48,387 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-19 21:35:48,387 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:35:48,387 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-19 21:35:48,387 INFO L423 AbstractCegarLoop]: === Iteration 78 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:35:48,387 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:35:48,387 INFO L82 PathProgramCache]: Analyzing trace with hash -2027404064, now seen corresponding path program 2 times [2018-12-19 21:35:48,387 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:35:48,388 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:35:48,388 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:35:48,388 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:35:48,388 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:35:48,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:35:48,744 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {42632#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:35:48,745 INFO L273 TraceCheckUtils]: 1: Hoare triple {42632#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {42633#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:35:48,746 INFO L273 TraceCheckUtils]: 2: Hoare triple {42633#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:35:48,748 INFO L273 TraceCheckUtils]: 3: Hoare triple {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:35:48,749 INFO L273 TraceCheckUtils]: 4: Hoare triple {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {42635#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:35:48,749 INFO L273 TraceCheckUtils]: 5: Hoare triple {42635#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:48,750 INFO L273 TraceCheckUtils]: 6: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2018-12-19 21:35:48,750 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:35:48,750 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:35:48,750 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:35:48,750 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:35:48,751 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:35:48,751 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:35:48,751 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 76 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 76 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:35:48,761 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:35:48,761 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:35:48,767 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:35:48,767 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:35:48,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:35:48,770 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:35:48,804 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:35:48,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:48,818 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-19 21:35:48,835 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:48,836 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:48,837 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:35:48,862 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:48,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:48,865 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:48,866 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:35:48,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:48,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:48,901 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:48,902 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:48,903 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:35:48,912 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:35:48,943 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:35:48,961 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:35:48,976 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:35:48,989 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:35:49,013 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:35:49,014 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-19 21:35:49,021 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:35:49,022 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_489|, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_489| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-19 21:35:49,022 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:35:49,126 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:49,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:49,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:49,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:49,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:49,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:49,134 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:49,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:49,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:49,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:49,139 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:49,140 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:35:49,151 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:35:49,199 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:35:49,199 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-19 21:35:51,206 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:35:51,206 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_490|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_490| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_490| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_490| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_490| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_490| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_490| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-19 21:35:51,207 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:35:51,319 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,320 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,322 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,323 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,324 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,325 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,327 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,328 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,329 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,331 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,332 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:35:51,333 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:35:51,343 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:35:51,393 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:35:51,394 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:38 [2018-12-19 21:35:51,406 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:35:51,406 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_491|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_491| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_491| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_491| ULTIMATE.start_main_p1)) (= .cse0 0) (= (select |v_#memory_int_491| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_491| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_491| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2018-12-19 21:35:51,406 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-19 21:35:51,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,514 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,515 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,517 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,521 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,522 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,523 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,524 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,525 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,526 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:51,527 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:35:51,537 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:35:51,589 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:35:51,589 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:52, output treesize:42 [2018-12-19 21:35:53,623 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:35:53,624 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_492|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_492| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_492| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_492| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_492| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_492| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_492| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:35:53,624 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:35:53,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,752 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,761 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:35:53,769 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:35:53,770 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 106 [2018-12-19 21:35:53,780 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:35:53,842 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:35:53,843 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-19 21:35:55,953 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:35:55,953 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_493|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_493| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_493| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_493| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_493| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_493| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_493| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-19 21:35:55,953 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) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:35:56,100 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {42640#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:35:56,102 INFO L273 TraceCheckUtils]: 1: Hoare triple {42640#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {42644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:35:56,104 INFO L273 TraceCheckUtils]: 2: Hoare triple {42644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-19 21:35:56,110 INFO L273 TraceCheckUtils]: 3: Hoare triple {42648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42652#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:35:56,112 INFO L273 TraceCheckUtils]: 4: Hoare triple {42652#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:35:56,113 INFO L273 TraceCheckUtils]: 5: Hoare triple {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-19 21:35:56,114 INFO L273 TraceCheckUtils]: 6: Hoare triple {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2018-12-19 21:35:56,114 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:35:56,114 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:35:56,271 INFO L273 TraceCheckUtils]: 6: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2018-12-19 21:35:56,272 INFO L273 TraceCheckUtils]: 5: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:56,273 INFO L273 TraceCheckUtils]: 4: Hoare triple {42669#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:56,274 INFO L273 TraceCheckUtils]: 3: Hoare triple {42673#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42669#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:56,276 INFO L273 TraceCheckUtils]: 2: Hoare triple {42677#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42673#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:56,278 INFO L273 TraceCheckUtils]: 1: Hoare triple {42681#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {42677#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:56,280 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {42681#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:35:56,280 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:35:56,300 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:35:56,300 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2018-12-19 21:35:56,300 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:35:56,300 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-19 21:35:56,300 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:35:56,300 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-19 21:35:56,326 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:35:56,327 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-19 21:35:56,327 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-19 21:35:56,327 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=150, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:35:56,327 INFO L87 Difference]: Start difference. First operand 123 states and 634 transitions. Second operand 12 states.