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-6-unlimited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-fb97592 [2018-12-19 21:30:10,097 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-12-19 21:30:10,100 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-12-19 21:30:10,117 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-12-19 21:30:10,117 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-12-19 21:30:10,118 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-12-19 21:30:10,120 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-12-19 21:30:10,122 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-12-19 21:30:10,123 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-12-19 21:30:10,124 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-12-19 21:30:10,125 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-12-19 21:30:10,126 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-12-19 21:30:10,127 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-12-19 21:30:10,128 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-12-19 21:30:10,129 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-12-19 21:30:10,130 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-12-19 21:30:10,131 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-12-19 21:30:10,132 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-12-19 21:30:10,135 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-12-19 21:30:10,136 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-12-19 21:30:10,137 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-12-19 21:30:10,139 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-12-19 21:30:10,141 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-12-19 21:30:10,142 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-12-19 21:30:10,142 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-12-19 21:30:10,143 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-12-19 21:30:10,144 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-12-19 21:30:10,145 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-12-19 21:30:10,146 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-12-19 21:30:10,147 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-12-19 21:30:10,147 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-12-19 21:30:10,148 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-12-19 21:30:10,148 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-12-19 21:30:10,149 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-12-19 21:30:10,150 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-12-19 21:30:10,150 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-12-19 21:30:10,154 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:30:10,179 INFO L110 SettingsManager]: Loading preferences was successful [2018-12-19 21:30:10,180 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-12-19 21:30:10,180 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2018-12-19 21:30:10,181 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2018-12-19 21:30:10,181 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-12-19 21:30:10,181 INFO L133 SettingsManager]: * User list type=DISABLED [2018-12-19 21:30:10,181 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2018-12-19 21:30:10,181 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-12-19 21:30:10,182 INFO L133 SettingsManager]: * Explicit value domain=true [2018-12-19 21:30:10,182 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-12-19 21:30:10,182 INFO L133 SettingsManager]: * Octagon Domain=false [2018-12-19 21:30:10,182 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-12-19 21:30:10,182 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-12-19 21:30:10,184 INFO L133 SettingsManager]: * Interval Domain=false [2018-12-19 21:30:10,184 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-12-19 21:30:10,185 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-12-19 21:30:10,185 INFO L133 SettingsManager]: * Use SBE=true [2018-12-19 21:30:10,185 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-12-19 21:30:10,185 INFO L133 SettingsManager]: * sizeof long=4 [2018-12-19 21:30:10,185 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-12-19 21:30:10,187 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-12-19 21:30:10,188 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-12-19 21:30:10,188 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-12-19 21:30:10,188 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-12-19 21:30:10,188 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-12-19 21:30:10,189 INFO L133 SettingsManager]: * sizeof long double=12 [2018-12-19 21:30:10,189 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-12-19 21:30:10,189 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-12-19 21:30:10,189 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-12-19 21:30:10,189 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-12-19 21:30:10,190 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-12-19 21:30:10,190 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-19 21:30:10,190 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-12-19 21:30:10,190 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-12-19 21:30:10,190 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-12-19 21:30:10,191 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-12-19 21:30:10,192 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-12-19 21:30:10,192 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-12-19 21:30:10,192 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-12-19 21:30:10,193 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2018-12-19 21:30:10,253 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-12-19 21:30:10,270 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-12-19 21:30:10,276 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-12-19 21:30:10,278 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2018-12-19 21:30:10,278 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2018-12-19 21:30:10,279 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-unlimited.bpl [2018-12-19 21:30:10,280 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-unlimited.bpl' [2018-12-19 21:30:10,342 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-12-19 21:30:10,344 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-12-19 21:30:10,344 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-12-19 21:30:10,346 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-12-19 21:30:10,346 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-12-19 21:30:10,366 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:30:10" (1/1) ... [2018-12-19 21:30:10,383 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:30:10" (1/1) ... [2018-12-19 21:30:10,423 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-12-19 21:30:10,424 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-12-19 21:30:10,424 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-12-19 21:30:10,424 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-12-19 21:30:10,438 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:30:10" (1/1) ... [2018-12-19 21:30:10,438 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:30:10" (1/1) ... [2018-12-19 21:30:10,441 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:30:10" (1/1) ... [2018-12-19 21:30:10,442 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:30:10" (1/1) ... [2018-12-19 21:30:10,453 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:30:10" (1/1) ... [2018-12-19 21:30:10,459 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:30:10" (1/1) ... [2018-12-19 21:30:10,461 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:30:10" (1/1) ... [2018-12-19 21:30:10,467 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-12-19 21:30:10,468 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-12-19 21:30:10,468 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-12-19 21:30:10,469 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-12-19 21:30:10,470 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:30:10" (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:30:10,542 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-12-19 21:30:10,543 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-12-19 21:30:11,336 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-12-19 21:30:11,336 INFO L280 CfgBuilder]: Removed 15 assue(true) statements. [2018-12-19 21:30:11,337 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 09:30:11 BoogieIcfgContainer [2018-12-19 21:30:11,337 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-12-19 21:30:11,338 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-12-19 21:30:11,338 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-12-19 21:30:11,342 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-12-19 21:30:11,342 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:30:10" (1/2) ... [2018-12-19 21:30:11,343 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@59b35df7 and model type speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.12 09:30:11, skipping insertion in model container [2018-12-19 21:30:11,343 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 09:30:11" (2/2) ... [2018-12-19 21:30:11,345 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-6-unlimited.bpl [2018-12-19 21:30:11,356 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-12-19 21:30:11,365 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 6 error locations. [2018-12-19 21:30:11,384 INFO L257 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2018-12-19 21:30:11,420 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-12-19 21:30:11,420 INFO L383 AbstractCegarLoop]: Hoare is true [2018-12-19 21:30:11,420 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-12-19 21:30:11,420 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-12-19 21:30:11,421 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-12-19 21:30:11,421 INFO L387 AbstractCegarLoop]: Difference is false [2018-12-19 21:30:11,421 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-12-19 21:30:11,421 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-12-19 21:30:11,447 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states. [2018-12-19 21:30:11,461 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2018-12-19 21:30:11,461 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:11,462 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2018-12-19 21:30:11,465 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:11,471 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:11,472 INFO L82 PathProgramCache]: Analyzing trace with hash 988, now seen corresponding path program 1 times [2018-12-19 21:30:11,475 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:11,533 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:11,534 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:11,534 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:11,534 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:11,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:11,760 INFO L273 TraceCheckUtils]: 0: Hoare triple {18#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {20#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:11,766 INFO L273 TraceCheckUtils]: 1: Hoare triple {20#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {19#false} is VALID [2018-12-19 21:30:11,768 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:11,770 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-19 21:30:11,770 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-19 21:30:11,771 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:30:11,776 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-19 21:30:11,779 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:11,783 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-19 21:30:11,815 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:30:11,815 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-19 21:30:11,825 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-19 21:30:11,826 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:30:11,829 INFO L87 Difference]: Start difference. First operand 15 states. Second operand 3 states. [2018-12-19 21:30:12,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:12,240 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2018-12-19 21:30:12,240 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:30:12,240 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-19 21:30:12,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:12,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:30:12,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 39 transitions. [2018-12-19 21:30:12,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:30:12,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 39 transitions. [2018-12-19 21:30:12,251 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 39 transitions. [2018-12-19 21:30:12,427 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:12,440 INFO L225 Difference]: With dead ends: 29 [2018-12-19 21:30:12,440 INFO L226 Difference]: Without dead ends: 24 [2018-12-19 21:30:12,443 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:30:12,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2018-12-19 21:30:12,513 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 14. [2018-12-19 21:30:12,514 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:12,514 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 14 states. [2018-12-19 21:30:12,515 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 14 states. [2018-12-19 21:30:12,515 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 14 states. [2018-12-19 21:30:12,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:12,526 INFO L93 Difference]: Finished difference Result 24 states and 34 transitions. [2018-12-19 21:30:12,526 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 34 transitions. [2018-12-19 21:30:12,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:12,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:12,527 INFO L74 IsIncluded]: Start isIncluded. First operand 14 states. Second operand 24 states. [2018-12-19 21:30:12,528 INFO L87 Difference]: Start difference. First operand 14 states. Second operand 24 states. [2018-12-19 21:30:12,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:12,534 INFO L93 Difference]: Finished difference Result 24 states and 34 transitions. [2018-12-19 21:30:12,534 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 34 transitions. [2018-12-19 21:30:12,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:12,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:12,537 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:12,537 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:12,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-12-19 21:30:12,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 25 transitions. [2018-12-19 21:30:12,552 INFO L78 Accepts]: Start accepts. Automaton has 14 states and 25 transitions. Word has length 2 [2018-12-19 21:30:12,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:12,552 INFO L480 AbstractCegarLoop]: Abstraction has 14 states and 25 transitions. [2018-12-19 21:30:12,552 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-19 21:30:12,553 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 25 transitions. [2018-12-19 21:30:12,553 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:30:12,553 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:12,554 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:30:12,554 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:12,555 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:12,555 INFO L82 PathProgramCache]: Analyzing trace with hash 30376, now seen corresponding path program 1 times [2018-12-19 21:30:12,555 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:12,559 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:12,559 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:12,559 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:12,559 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:12,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:12,728 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {120#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:12,742 INFO L273 TraceCheckUtils]: 1: Hoare triple {120#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {121#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:12,758 INFO L273 TraceCheckUtils]: 2: Hoare triple {121#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2018-12-19 21:30:12,759 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:12,759 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:12,759 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:12,760 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:30:12,763 INFO L207 CegarAbsIntRunner]: [0], [18], [27] [2018-12-19 21:30:12,808 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:12,809 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:12,936 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:12,937 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:30:12,942 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:12,944 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:12,944 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:12,944 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:30:12,955 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:12,955 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:12,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:12,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:12,978 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:13,202 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:13,210 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:30:13,749 WARN L181 SmtUtils]: Spent 353.00 ms on a formula simplification. DAG size of input: 28 DAG size of output: 24 [2018-12-19 21:30:13,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:13,811 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:13,813 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:30:13,948 WARN L181 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 31 DAG size of output: 25 [2018-12-19 21:30:14,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:14,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:14,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:14,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:14,008 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:30:14,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:14,126 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:14,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:14,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:14,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:14,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:14,136 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:30:14,143 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:14,164 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:14,182 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:14,205 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:14,245 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:30:14,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, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:30:14,322 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:30:14,372 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:30:14,484 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:30:14,554 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:30:14,572 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:14,601 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:14,624 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:14,643 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:14,658 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:14,673 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:14,727 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:14,728 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-19 21:30:14,749 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:14,750 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_32|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_8|]. (let ((.cse0 (store |v_#valid_8| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_32| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p3) 0))))) [2018-12-19 21:30:14,750 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:30:16,941 WARN L181 SmtUtils]: Spent 2.10 s on a formula simplification. DAG size of input: 44 DAG size of output: 40 [2018-12-19 21:30:17,105 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:17,108 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:17,112 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:17,180 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:17,180 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-19 21:30:19,207 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:19,207 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_33| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_33| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_33| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_33| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_33| ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_33| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-19 21:30:19,207 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:30:19,251 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:19,261 INFO L273 TraceCheckUtils]: 1: Hoare triple {125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:30:19,262 INFO L273 TraceCheckUtils]: 2: Hoare triple {129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2018-12-19 21:30:19,263 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:19,263 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:19,294 INFO L273 TraceCheckUtils]: 2: Hoare triple {133#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2018-12-19 21:30:19,296 INFO L273 TraceCheckUtils]: 1: Hoare triple {137#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {133#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:19,308 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {137#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:19,309 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:19,330 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:19,330 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:30:19,330 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:19,332 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:30:19,332 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:19,333 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:30:19,348 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:19,348 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:30:19,348 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:30:19,349 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:30:19,349 INFO L87 Difference]: Start difference. First operand 14 states and 25 transitions. Second operand 6 states. [2018-12-19 21:30:20,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:20,159 INFO L93 Difference]: Finished difference Result 47 states and 68 transitions. [2018-12-19 21:30:20,159 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:30:20,160 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:30:20,160 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:20,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:20,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2018-12-19 21:30:20,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:20,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2018-12-19 21:30:20,166 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 68 transitions. [2018-12-19 21:30:20,331 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:30:20,335 INFO L225 Difference]: With dead ends: 47 [2018-12-19 21:30:20,335 INFO L226 Difference]: Without dead ends: 45 [2018-12-19 21:30:20,336 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-19 21:30:20,336 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2018-12-19 21:30:20,366 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 18. [2018-12-19 21:30:20,366 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:20,367 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 18 states. [2018-12-19 21:30:20,367 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 18 states. [2018-12-19 21:30:20,367 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 18 states. [2018-12-19 21:30:20,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:20,371 INFO L93 Difference]: Finished difference Result 45 states and 65 transitions. [2018-12-19 21:30:20,371 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 65 transitions. [2018-12-19 21:30:20,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:20,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:20,372 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 45 states. [2018-12-19 21:30:20,373 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 45 states. [2018-12-19 21:30:20,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:20,377 INFO L93 Difference]: Finished difference Result 45 states and 65 transitions. [2018-12-19 21:30:20,377 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 65 transitions. [2018-12-19 21:30:20,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:20,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:20,378 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:20,378 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:20,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-12-19 21:30:20,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 37 transitions. [2018-12-19 21:30:20,380 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 37 transitions. Word has length 3 [2018-12-19 21:30:20,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:20,381 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 37 transitions. [2018-12-19 21:30:20,381 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:30:20,381 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 37 transitions. [2018-12-19 21:30:20,381 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:30:20,382 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:20,382 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:30:20,382 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:20,382 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:20,383 INFO L82 PathProgramCache]: Analyzing trace with hash 30004, now seen corresponding path program 1 times [2018-12-19 21:30:20,383 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:20,384 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:20,384 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:20,384 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:20,385 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:20,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:20,464 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {306#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:20,465 INFO L273 TraceCheckUtils]: 1: Hoare triple {306#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:20,470 INFO L273 TraceCheckUtils]: 2: Hoare triple {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2018-12-19 21:30:20,470 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:20,471 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:20,471 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:20,471 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:30:20,471 INFO L207 CegarAbsIntRunner]: [0], [6], [27] [2018-12-19 21:30:20,473 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:20,473 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:20,491 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:20,491 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:30:20,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:20,492 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:20,492 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:20,492 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:30:20,501 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:20,501 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:20,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:20,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:20,525 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:20,603 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:30:20,620 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:30:20,641 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:20,642 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:20,643 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:30:20,720 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:20,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:20,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:20,724 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:30:20,786 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:20,795 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:20,797 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:20,813 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:20,815 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:30:20,866 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:30:20,871 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:20,914 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:20,950 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:20,976 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:21,021 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:21,037 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:21,083 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,084 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:30:21,185 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,186 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,188 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:30:21,261 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,262 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,266 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,268 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:30:21,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,377 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,378 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:21,381 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:30:21,385 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:21,414 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:21,436 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:21,457 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:21,520 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:21,521 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 7 variables, input treesize:72, output treesize:71 [2018-12-19 21:30:22,469 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:22,470 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_35|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_9|]. (let ((.cse0 (store |v_#valid_9| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p4) 0) (= (store (store (store (store (store (store |v_#memory_int_35| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-19 21:30:22,470 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:30:22,835 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,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, 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:22,853 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:22,961 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:22,962 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-19 21:30:22,971 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:22,971 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_36| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_36| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_36| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:30:22,971 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:23,009 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {311#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:30:23,012 INFO L273 TraceCheckUtils]: 1: Hoare triple {311#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {315#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:30:23,013 INFO L273 TraceCheckUtils]: 2: Hoare triple {315#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2018-12-19 21:30:23,014 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:23,014 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:23,028 INFO L273 TraceCheckUtils]: 2: Hoare triple {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2018-12-19 21:30:23,029 INFO L273 TraceCheckUtils]: 1: Hoare triple {322#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:23,034 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {322#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:30:23,035 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:23,054 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-19 21:30:23,054 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2018-12-19 21:30:23,054 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:30:23,054 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-19 21:30:23,055 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:23,055 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:30:23,062 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:23,063 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:30:23,063 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:30:23,063 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:30:23,064 INFO L87 Difference]: Start difference. First operand 18 states and 37 transitions. Second operand 4 states. [2018-12-19 21:30:23,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:23,273 INFO L93 Difference]: Finished difference Result 23 states and 60 transitions. [2018-12-19 21:30:23,273 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-12-19 21:30:23,273 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-19 21:30:23,274 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:23,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:30:23,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 34 transitions. [2018-12-19 21:30:23,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:30:23,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 34 transitions. [2018-12-19 21:30:23,277 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 34 transitions. [2018-12-19 21:30:23,409 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:23,410 INFO L225 Difference]: With dead ends: 23 [2018-12-19 21:30:23,411 INFO L226 Difference]: Without dead ends: 22 [2018-12-19 21:30:23,411 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:30:23,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2018-12-19 21:30:23,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 21. [2018-12-19 21:30:23,462 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:23,462 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand 21 states. [2018-12-19 21:30:23,462 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 21 states. [2018-12-19 21:30:23,463 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 21 states. [2018-12-19 21:30:23,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:23,467 INFO L93 Difference]: Finished difference Result 22 states and 59 transitions. [2018-12-19 21:30:23,467 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 59 transitions. [2018-12-19 21:30:23,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:23,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:23,468 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 22 states. [2018-12-19 21:30:23,468 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 22 states. [2018-12-19 21:30:23,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:23,471 INFO L93 Difference]: Finished difference Result 22 states and 59 transitions. [2018-12-19 21:30:23,471 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 59 transitions. [2018-12-19 21:30:23,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:23,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:23,472 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:23,472 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:23,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-12-19 21:30:23,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 59 transitions. [2018-12-19 21:30:23,475 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 59 transitions. Word has length 3 [2018-12-19 21:30:23,475 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:23,475 INFO L480 AbstractCegarLoop]: Abstraction has 21 states and 59 transitions. [2018-12-19 21:30:23,475 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:30:23,475 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 59 transitions. [2018-12-19 21:30:23,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:30:23,476 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:23,476 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:30:23,476 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:23,477 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:23,477 INFO L82 PathProgramCache]: Analyzing trace with hash 30562, now seen corresponding path program 1 times [2018-12-19 21:30:23,477 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:23,478 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:23,478 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:23,478 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:23,478 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:23,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:23,594 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {427#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} is VALID [2018-12-19 21:30:23,596 INFO L273 TraceCheckUtils]: 1: Hoare triple {427#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {428#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:23,597 INFO L273 TraceCheckUtils]: 2: Hoare triple {428#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2018-12-19 21:30:23,597 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:23,598 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:23,598 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:23,598 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:30:23,598 INFO L207 CegarAbsIntRunner]: [0], [24], [27] [2018-12-19 21:30:23,603 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:23,603 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:23,625 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:23,625 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:30:23,625 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:23,625 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:23,626 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:23,626 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:30:23,639 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:23,639 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:23,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:23,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:23,679 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:23,808 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:23,810 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:30:23,951 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:23,952 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:23,954 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:30:24,041 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,043 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,044 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,047 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:30:24,148 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,153 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,154 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,155 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,156 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:30:24,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,301 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,303 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,304 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,306 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:24,309 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:30:24,313 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:24,348 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:24,383 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:24,419 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:24,455 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:24,508 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:30:24,524 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:30:24,548 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:30: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, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:30:24,684 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:30:24,722 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:30:24,728 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:24,814 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:24,841 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:24,858 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:24,873 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:24,889 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:24,985 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:24,985 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 6 variables, input treesize:92, output treesize:91 [2018-12-19 21:30:25,002 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:25,003 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_10|]. (let ((.cse3 (store |v_#valid_10| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_38| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= (select .cse3 ULTIMATE.start_main_p2) 0)))))) [2018-12-19 21:30:25,003 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:30:25,220 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:25,222 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-19 21:30:25,254 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:25,464 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:25,464 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:101, output treesize:71 [2018-12-19 21:30:27,215 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:27,216 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_39|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_39| ULTIMATE.start_main_p6))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (store |v_#memory_int_39| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:30:27,216 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:27,266 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {432#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:30:27,272 INFO L273 TraceCheckUtils]: 1: Hoare triple {432#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {436#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:30:27,273 INFO L273 TraceCheckUtils]: 2: Hoare triple {436#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2018-12-19 21:30:27,273 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:27,273 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:27,294 INFO L273 TraceCheckUtils]: 2: Hoare triple {440#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2018-12-19 21:30:27,295 INFO L273 TraceCheckUtils]: 1: Hoare triple {444#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {440#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:27,297 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {444#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:27,298 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:27,317 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:27,318 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:30:27,318 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:27,318 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:30:27,318 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:27,318 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:30:27,341 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:27,341 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:30:27,341 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:30:27,341 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:30:27,342 INFO L87 Difference]: Start difference. First operand 21 states and 59 transitions. Second operand 6 states. [2018-12-19 21:30:28,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:28,113 INFO L93 Difference]: Finished difference Result 39 states and 79 transitions. [2018-12-19 21:30:28,114 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-12-19 21:30:28,114 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:30:28,114 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:28,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:28,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2018-12-19 21:30:28,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:28,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2018-12-19 21:30:28,117 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2018-12-19 21:30:28,295 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:28,297 INFO L225 Difference]: With dead ends: 39 [2018-12-19 21:30:28,298 INFO L226 Difference]: Without dead ends: 36 [2018-12-19 21:30:28,298 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:30:28,299 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-12-19 21:30:28,352 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 23. [2018-12-19 21:30:28,352 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:28,353 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 23 states. [2018-12-19 21:30:28,353 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 23 states. [2018-12-19 21:30:28,353 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 23 states. [2018-12-19 21:30:28,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:28,356 INFO L93 Difference]: Finished difference Result 36 states and 76 transitions. [2018-12-19 21:30:28,356 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 76 transitions. [2018-12-19 21:30:28,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:28,357 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:28,357 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 36 states. [2018-12-19 21:30:28,357 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 36 states. [2018-12-19 21:30:28,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:28,360 INFO L93 Difference]: Finished difference Result 36 states and 76 transitions. [2018-12-19 21:30:28,360 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 76 transitions. [2018-12-19 21:30:28,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:28,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:28,361 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:28,362 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:28,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-12-19 21:30:28,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 67 transitions. [2018-12-19 21:30:28,364 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 67 transitions. Word has length 3 [2018-12-19 21:30:28,364 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:28,364 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 67 transitions. [2018-12-19 21:30:28,364 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:30:28,364 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 67 transitions. [2018-12-19 21:30:28,365 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:30:28,365 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:28,365 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:30:28,365 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:28,366 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:28,366 INFO L82 PathProgramCache]: Analyzing trace with hash 30128, now seen corresponding path program 1 times [2018-12-19 21:30:28,366 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:28,367 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:28,367 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:28,367 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:28,367 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:28,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:28,488 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {597#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:30:28,489 INFO L273 TraceCheckUtils]: 1: Hoare triple {597#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {598#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:28,490 INFO L273 TraceCheckUtils]: 2: Hoare triple {598#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2018-12-19 21:30:28,491 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:28,491 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:28,491 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:28,492 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:30:28,492 INFO L207 CegarAbsIntRunner]: [0], [10], [27] [2018-12-19 21:30:28,494 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:28,494 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:28,509 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:28,509 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:30:28,509 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:28,509 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:28,509 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:28,509 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:30:28,518 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:28,519 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:28,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:28,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:28,561 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:28,726 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:30:28,734 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:30:28,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:28,774 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:28,775 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:30:28,835 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:28,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:28,845 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:28,846 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:30:28,862 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:28,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:28,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:28,867 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:28,869 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:30:28,903 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:30:28,922 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:28,957 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:28,985 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:29,007 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:29,024 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:29,039 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:29,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,132 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:30:29,188 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,192 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:30:29,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,254 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,254 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,255 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,256 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:30:29,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,341 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,342 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,343 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,345 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:30:29,349 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:29,368 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:29,388 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:29,407 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:29,459 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:29,460 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-19 21:30:29,483 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:29,483 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_11|]. (let ((.cse1 (store |v_#valid_11| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store (store |v_#memory_int_41| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-19 21:30:29,483 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:30:29,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:29,609 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:29,613 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:29,668 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:29,669 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-19 21:30:29,694 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:29,694 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_42| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_42| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_42| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p5) 0))) [2018-12-19 21:30:29,694 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:29,736 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {602#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:30:29,738 INFO L273 TraceCheckUtils]: 1: Hoare triple {602#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {606#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:30:29,738 INFO L273 TraceCheckUtils]: 2: Hoare triple {606#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2018-12-19 21:30:29,739 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:29,739 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:29,765 INFO L273 TraceCheckUtils]: 2: Hoare triple {610#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2018-12-19 21:30:29,766 INFO L273 TraceCheckUtils]: 1: Hoare triple {614#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {610#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:29,769 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {614#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:29,769 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:29,788 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:29,788 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:30:29,788 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:29,789 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:30:29,789 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:29,789 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:30:29,798 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:29,799 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:30:29,799 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:30:29,799 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:30:29,800 INFO L87 Difference]: Start difference. First operand 23 states and 67 transitions. Second operand 6 states. [2018-12-19 21:30:30,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:30,355 INFO L93 Difference]: Finished difference Result 49 states and 101 transitions. [2018-12-19 21:30:30,355 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:30:30,355 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:30:30,355 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:30,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:30,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2018-12-19 21:30:30,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:30,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2018-12-19 21:30:30,357 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2018-12-19 21:30:30,471 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:30:30,473 INFO L225 Difference]: With dead ends: 49 [2018-12-19 21:30:30,473 INFO L226 Difference]: Without dead ends: 47 [2018-12-19 21:30:30,474 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-19 21:30:30,475 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-12-19 21:30:30,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 25. [2018-12-19 21:30:30,573 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:30,573 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 25 states. [2018-12-19 21:30:30,574 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 25 states. [2018-12-19 21:30:30,574 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 25 states. [2018-12-19 21:30:30,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:30,577 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2018-12-19 21:30:30,577 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 98 transitions. [2018-12-19 21:30:30,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:30,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:30,578 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 47 states. [2018-12-19 21:30:30,578 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 47 states. [2018-12-19 21:30:30,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:30,580 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2018-12-19 21:30:30,580 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 98 transitions. [2018-12-19 21:30:30,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:30,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:30,581 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:30,581 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:30,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-12-19 21:30:30,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 80 transitions. [2018-12-19 21:30:30,583 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 80 transitions. Word has length 3 [2018-12-19 21:30:30,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:30,583 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 80 transitions. [2018-12-19 21:30:30,583 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:30:30,584 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 80 transitions. [2018-12-19 21:30:30,584 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:30,584 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:30,584 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:30,584 INFO L423 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:30,585 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:30,585 INFO L82 PathProgramCache]: Analyzing trace with hash 941528, now seen corresponding path program 1 times [2018-12-19 21:30:30,585 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:30,586 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:30,586 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:30,586 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:30,586 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:30,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:30,704 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:30,706 INFO L273 TraceCheckUtils]: 1: Hoare triple {807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {808#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:30:30,707 INFO L273 TraceCheckUtils]: 2: Hoare triple {808#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {809#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:30,708 INFO L273 TraceCheckUtils]: 3: Hoare triple {809#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2018-12-19 21:30:30,709 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:30,709 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:30,709 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:30,709 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:30,709 INFO L207 CegarAbsIntRunner]: [0], [18], [22], [27] [2018-12-19 21:30:30,711 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:30,711 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:30,731 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:30,731 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:30:30,731 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:30,731 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:30,732 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:30,732 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:30:30,741 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:30,741 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:30,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:30,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:30,752 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:30,840 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:30:30,865 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:30:30,874 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,877 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,878 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:30:30,893 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,894 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,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 28 treesize of output 54 [2018-12-19 21:30:30,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:30,925 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:30:30,956 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:30:30,959 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:30,996 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:31,024 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:31,046 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:31,065 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:31,082 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:31,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,119 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:30:31,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,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, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:30:31,246 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,247 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,249 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,250 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,251 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:30:31,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,341 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,343 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,344 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,345 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,346 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:30:31,352 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:31,372 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:31,392 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:31,413 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:31,466 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:31,467 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:30:31,479 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:31,479 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_44|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, |v_#valid_12|]. (let ((.cse2 (store |v_#valid_12| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_44| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)))))) [2018-12-19 21:30:31,479 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:30:31,683 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:31,685 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:31,691 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:31,737 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:31,737 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:30:33,745 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:33,745 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_45|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_45| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_45| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_45| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_45| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_45| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_45| ULTIMATE.start_main_p2) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:30:33,745 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:30:33,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,896 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,898 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,902 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,903 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,905 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:33,912 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:33,961 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:33,961 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-19 21:30:35,968 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:35,968 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_46| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_46| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_46| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 .cse0) (= (store |v_#memory_int_46| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p1)))) [2018-12-19 21:30:35,968 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:30:36,017 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {813#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:36,020 INFO L273 TraceCheckUtils]: 1: Hoare triple {813#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {817#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} is VALID [2018-12-19 21:30:36,023 INFO L273 TraceCheckUtils]: 2: Hoare triple {817#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {821#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} is VALID [2018-12-19 21:30:36,024 INFO L273 TraceCheckUtils]: 3: Hoare triple {821#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2018-12-19 21:30:36,025 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:36,025 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:36,085 INFO L273 TraceCheckUtils]: 3: Hoare triple {825#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2018-12-19 21:30:36,094 INFO L273 TraceCheckUtils]: 2: Hoare triple {829#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {825#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:36,095 INFO L273 TraceCheckUtils]: 1: Hoare triple {833#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {829#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:36,097 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {833#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:36,097 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:36,116 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:36,117 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:30:36,117 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:36,117 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:36,117 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:36,117 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:36,132 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:36,132 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:36,132 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:36,132 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:30:36,133 INFO L87 Difference]: Start difference. First operand 25 states and 80 transitions. Second operand 8 states. [2018-12-19 21:30:38,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:38,467 INFO L93 Difference]: Finished difference Result 61 states and 138 transitions. [2018-12-19 21:30:38,467 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:30:38,467 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:38,467 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:38,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:38,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2018-12-19 21:30:38,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:38,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2018-12-19 21:30:38,470 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 80 transitions. [2018-12-19 21:30:38,630 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:38,633 INFO L225 Difference]: With dead ends: 61 [2018-12-19 21:30:38,633 INFO L226 Difference]: Without dead ends: 57 [2018-12-19 21:30:38,634 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:30:38,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-12-19 21:30:38,723 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 29. [2018-12-19 21:30:38,723 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:38,723 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 29 states. [2018-12-19 21:30:38,724 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 29 states. [2018-12-19 21:30:38,724 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 29 states. [2018-12-19 21:30:38,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:38,727 INFO L93 Difference]: Finished difference Result 57 states and 131 transitions. [2018-12-19 21:30:38,727 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 131 transitions. [2018-12-19 21:30:38,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:38,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:38,728 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 57 states. [2018-12-19 21:30:38,728 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 57 states. [2018-12-19 21:30:38,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:38,731 INFO L93 Difference]: Finished difference Result 57 states and 131 transitions. [2018-12-19 21:30:38,731 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 131 transitions. [2018-12-19 21:30:38,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:38,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:38,732 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:38,732 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:38,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-12-19 21:30:38,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 98 transitions. [2018-12-19 21:30:38,734 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 98 transitions. Word has length 4 [2018-12-19 21:30:38,734 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:38,734 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 98 transitions. [2018-12-19 21:30:38,734 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:38,734 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 98 transitions. [2018-12-19 21:30:38,735 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:38,735 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:38,735 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:38,735 INFO L423 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:38,736 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:38,736 INFO L82 PathProgramCache]: Analyzing trace with hash 941590, now seen corresponding path program 1 times [2018-12-19 21:30:38,736 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:38,737 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:38,737 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:38,737 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:38,737 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:38,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:38,856 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1070#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:38,858 INFO L273 TraceCheckUtils]: 1: Hoare triple {1070#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1071#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:30:38,863 INFO L273 TraceCheckUtils]: 2: Hoare triple {1071#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1072#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:38,864 INFO L273 TraceCheckUtils]: 3: Hoare triple {1072#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2018-12-19 21:30:38,865 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:38,865 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:38,865 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:38,865 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:38,865 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [27] [2018-12-19 21:30:38,866 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:38,866 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:38,880 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:38,881 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:30:38,881 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:38,881 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:38,881 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:38,881 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:30:38,891 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:38,891 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:38,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:38,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:38,902 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:38,967 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:38,968 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:30:39,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,048 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,050 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:30:39,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,126 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,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 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:30:39,221 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,223 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,225 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,229 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:30:39,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,341 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,343 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,344 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,345 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,346 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,348 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,349 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:30:39,353 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,385 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,417 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,449 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,482 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,527 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:30:39,540 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:30:39,560 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:30:39,583 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:30:39,611 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:30:39,642 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:30:39,651 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,692 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,717 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,736 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,752 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,766 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,821 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:39,822 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-19 21:30:39,847 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:39,848 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_13|]. (let ((.cse2 (store |v_#valid_13| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p5)) (= 0 (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (store (store (store (store (store (store |v_#memory_int_49| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= (select .cse3 ULTIMATE.start_main_p4) 0)))))) [2018-12-19 21:30:39,848 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:30:40,022 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:40,023 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:30:40,033 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:40,091 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:40,092 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-19 21:30:42,104 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:42,105 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_50| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_50| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_50| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:30:42,105 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:30:42,305 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:42,307 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:42,309 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:42,311 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:42,313 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:42,315 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:42,317 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:30:42,318 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2018-12-19 21:30:42,322 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:42,405 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:42,405 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2018-12-19 21:30:42,558 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:42,558 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_51| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_51| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_51| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (= 0 (+ (select |v_#memory_int_51| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:30:42,558 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-19 21:30:42,617 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1076#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:30:42,620 INFO L273 TraceCheckUtils]: 1: Hoare triple {1076#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:30:42,623 INFO L273 TraceCheckUtils]: 2: Hoare triple {1080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1084#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:30:42,640 INFO L273 TraceCheckUtils]: 3: Hoare triple {1084#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2018-12-19 21:30:42,641 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:42,641 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:42,727 INFO L273 TraceCheckUtils]: 3: Hoare triple {1088#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2018-12-19 21:30:42,728 INFO L273 TraceCheckUtils]: 2: Hoare triple {1092#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1088#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:42,730 INFO L273 TraceCheckUtils]: 1: Hoare triple {1096#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1092#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:42,733 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1096#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:42,733 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:42,753 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:42,754 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:30:42,754 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:42,754 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:42,754 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:42,754 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:42,824 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:42,824 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:42,824 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:42,824 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:30:42,825 INFO L87 Difference]: Start difference. First operand 29 states and 98 transitions. Second operand 8 states. [2018-12-19 21:30:45,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:45,374 INFO L93 Difference]: Finished difference Result 59 states and 140 transitions. [2018-12-19 21:30:45,374 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:30:45,374 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:45,375 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:45,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:45,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2018-12-19 21:30:45,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:45,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2018-12-19 21:30:45,377 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 76 transitions. [2018-12-19 21:30:45,531 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:45,533 INFO L225 Difference]: With dead ends: 59 [2018-12-19 21:30:45,533 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:30:45,534 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:30:45,535 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:30:45,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 30. [2018-12-19 21:30:45,749 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:45,749 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 30 states. [2018-12-19 21:30:45,749 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 30 states. [2018-12-19 21:30:45,749 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 30 states. [2018-12-19 21:30:45,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:45,753 INFO L93 Difference]: Finished difference Result 55 states and 135 transitions. [2018-12-19 21:30:45,753 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 135 transitions. [2018-12-19 21:30:45,754 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:45,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:45,754 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 55 states. [2018-12-19 21:30:45,754 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 55 states. [2018-12-19 21:30:45,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:45,758 INFO L93 Difference]: Finished difference Result 55 states and 135 transitions. [2018-12-19 21:30:45,758 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 135 transitions. [2018-12-19 21:30:45,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:45,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:45,759 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:45,759 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:45,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-12-19 21:30:45,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 110 transitions. [2018-12-19 21:30:45,762 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 110 transitions. Word has length 4 [2018-12-19 21:30:45,762 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:45,762 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 110 transitions. [2018-12-19 21:30:45,762 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:45,762 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 110 transitions. [2018-12-19 21:30:45,762 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:45,762 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:45,762 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:45,763 INFO L423 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:45,763 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:45,763 INFO L82 PathProgramCache]: Analyzing trace with hash 941156, now seen corresponding path program 1 times [2018-12-19 21:30:45,763 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:45,764 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:45,764 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:45,764 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:45,764 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:45,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:46,002 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1331#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:46,006 INFO L273 TraceCheckUtils]: 1: Hoare triple {1331#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1332#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:30:46,018 INFO L273 TraceCheckUtils]: 2: Hoare triple {1332#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1333#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:46,031 INFO L273 TraceCheckUtils]: 3: Hoare triple {1333#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2018-12-19 21:30:46,031 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:46,032 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:46,032 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:46,032 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:46,032 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [27] [2018-12-19 21:30:46,033 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:46,034 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:46,096 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:46,097 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:30:46,097 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:46,097 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:46,097 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:46,097 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:30:46,110 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:46,110 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:46,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:46,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:46,140 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:46,457 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:30:46,477 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:30:46,487 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,489 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,490 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:30:46,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,508 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:30:46,563 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,586 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,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 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:30:46,650 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:30:46,655 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,690 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,718 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,741 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,760 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,777 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,813 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,815 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:30:46,873 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,876 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:30:46,943 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,944 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,945 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,946 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,948 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:30:47,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:47,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:47,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:47,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:47,036 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:47,037 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:47,039 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:30:47,043 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:47,063 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:47,083 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:47,103 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:47,147 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:47,148 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:30:47,164 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:47,164 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_14|]. (let ((.cse2 (store |v_#valid_14| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_54| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p2) 0))))) [2018-12-19 21:30:47,164 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:30:47,310 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:47,311 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:47,321 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:47,375 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:47,375 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:30:49,393 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:49,393 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_55| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_55| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_55| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_55| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_55| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:30:49,393 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:30:49,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,521 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,523 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,524 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,525 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,526 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:30:49,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, 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:30:49,546 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:49,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:30:49,590 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:42 [2018-12-19 21:30:49,630 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:49,630 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_56|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_56| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_56| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_56| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_56| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_56| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_56| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-19 21:30:49,630 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:30:49,668 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1337#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:30:49,670 INFO L273 TraceCheckUtils]: 1: Hoare triple {1337#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1341#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:30:49,673 INFO L273 TraceCheckUtils]: 2: Hoare triple {1341#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:30:49,674 INFO L273 TraceCheckUtils]: 3: Hoare triple {1345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2018-12-19 21:30:49,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:30:49,675 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:49,730 INFO L273 TraceCheckUtils]: 3: Hoare triple {1349#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2018-12-19 21:30:49,731 INFO L273 TraceCheckUtils]: 2: Hoare triple {1353#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1349#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:49,733 INFO L273 TraceCheckUtils]: 1: Hoare triple {1357#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1353#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:49,735 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1357#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:49,736 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:49,757 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:49,757 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:30:49,757 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:49,758 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:49,758 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:49,758 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:49,771 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:49,772 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:49,772 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:49,772 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:30:49,772 INFO L87 Difference]: Start difference. First operand 30 states and 110 transitions. Second operand 8 states. [2018-12-19 21:30:51,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:51,075 INFO L93 Difference]: Finished difference Result 57 states and 144 transitions. [2018-12-19 21:30:51,075 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:30:51,075 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:51,075 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:51,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:51,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-19 21:30:51,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:51,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-19 21:30:51,078 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2018-12-19 21:30:51,213 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:51,215 INFO L225 Difference]: With dead ends: 57 [2018-12-19 21:30:51,215 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:30:51,216 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:30:51,216 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:30:51,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 30. [2018-12-19 21:30:51,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:51,451 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 30 states. [2018-12-19 21:30:51,451 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 30 states. [2018-12-19 21:30:51,451 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 30 states. [2018-12-19 21:30:51,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:51,455 INFO L93 Difference]: Finished difference Result 55 states and 141 transitions. [2018-12-19 21:30:51,455 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 141 transitions. [2018-12-19 21:30:51,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:51,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:51,456 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 55 states. [2018-12-19 21:30:51,456 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 55 states. [2018-12-19 21:30:51,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:51,459 INFO L93 Difference]: Finished difference Result 55 states and 141 transitions. [2018-12-19 21:30:51,459 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 141 transitions. [2018-12-19 21:30:51,459 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:51,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:51,460 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:51,460 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:51,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-12-19 21:30:51,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 109 transitions. [2018-12-19 21:30:51,462 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 109 transitions. Word has length 4 [2018-12-19 21:30:51,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:51,463 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 109 transitions. [2018-12-19 21:30:51,463 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:51,463 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 109 transitions. [2018-12-19 21:30:51,463 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:51,463 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:51,464 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:51,464 INFO L423 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:51,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:51,464 INFO L82 PathProgramCache]: Analyzing trace with hash 941280, now seen corresponding path program 1 times [2018-12-19 21:30:51,465 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:51,465 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:51,466 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:51,466 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:51,466 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:51,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:51,634 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1591#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:30:51,637 INFO L273 TraceCheckUtils]: 1: Hoare triple {1591#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1592#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:30:51,638 INFO L273 TraceCheckUtils]: 2: Hoare triple {1592#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1593#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:51,639 INFO L273 TraceCheckUtils]: 3: Hoare triple {1593#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2018-12-19 21:30:51,639 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:51,639 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:51,639 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:51,639 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:51,640 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [27] [2018-12-19 21:30:51,641 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:51,641 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:51,669 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:51,669 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:30:51,670 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:51,670 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:51,670 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:51,670 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:30:51,679 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:51,679 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:51,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:51,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:51,691 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:51,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,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, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:30:51,801 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,802 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,803 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:30:51,862 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,865 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,867 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:30:51,944 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,945 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,947 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,948 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,949 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,950 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:51,952 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:30:51,954 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:51,974 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:51,995 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:52,016 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:52,048 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:30:52,058 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:30:52,072 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:30:52,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, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:30:52,119 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:30:52,162 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:30:52,182 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:52,603 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:52,651 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:52,674 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:52,691 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:52,707 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:52,752 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:52,752 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:30:52,763 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:52,763 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_59|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_15|]. (let ((.cse0 (store |v_#valid_15| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_59| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= 0 (select .cse2 ULTIMATE.start_main_p3)))))) [2018-12-19 21:30:52,763 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:30:52,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:52,897 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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:52,901 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:52,937 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:52,938 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:30:54,944 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:54,944 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_60|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_60| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_60| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_60| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p3)))) [2018-12-19 21:30:54,944 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:30:55,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,048 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,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:30:55,058 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:55,100 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:55,100 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-19 21:30:55,188 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:55,188 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_61|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_61| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_61| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (+ (select |v_#memory_int_61| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_61| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_61| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_61| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:30:55,189 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-19 21:30:55,222 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1597#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:55,225 INFO L273 TraceCheckUtils]: 1: Hoare triple {1597#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1601#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))))} is VALID [2018-12-19 21:30:55,228 INFO L273 TraceCheckUtils]: 2: Hoare triple {1601#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1605#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-19 21:30:55,229 INFO L273 TraceCheckUtils]: 3: Hoare triple {1605#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2018-12-19 21:30:55,229 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:55,230 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:55,279 INFO L273 TraceCheckUtils]: 3: Hoare triple {1609#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2018-12-19 21:30:55,280 INFO L273 TraceCheckUtils]: 2: Hoare triple {1613#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1609#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:55,282 INFO L273 TraceCheckUtils]: 1: Hoare triple {1617#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1613#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:55,284 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1617#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:55,285 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:55,305 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:55,305 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:30:55,305 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:55,305 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:55,306 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:55,306 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:55,319 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:55,320 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:55,320 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:55,320 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:30:55,321 INFO L87 Difference]: Start difference. First operand 30 states and 109 transitions. Second operand 8 states. [2018-12-19 21:30:55,628 WARN L181 SmtUtils]: Spent 174.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 40 [2018-12-19 21:30:56,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:56,923 INFO L93 Difference]: Finished difference Result 57 states and 158 transitions. [2018-12-19 21:30:56,923 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:30:56,924 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:56,924 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:56,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:56,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-19 21:30:56,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:56,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-19 21:30:56,926 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 72 transitions. [2018-12-19 21:30:57,052 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:30:57,054 INFO L225 Difference]: With dead ends: 57 [2018-12-19 21:30:57,054 INFO L226 Difference]: Without dead ends: 53 [2018-12-19 21:30:57,055 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:30:57,055 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-12-19 21:30:57,296 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 31. [2018-12-19 21:30:57,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:57,297 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 31 states. [2018-12-19 21:30:57,297 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 31 states. [2018-12-19 21:30:57,297 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 31 states. [2018-12-19 21:30:57,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:57,301 INFO L93 Difference]: Finished difference Result 53 states and 151 transitions. [2018-12-19 21:30:57,301 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 151 transitions. [2018-12-19 21:30:57,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:57,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:57,302 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 53 states. [2018-12-19 21:30:57,302 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 53 states. [2018-12-19 21:30:57,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:57,305 INFO L93 Difference]: Finished difference Result 53 states and 151 transitions. [2018-12-19 21:30:57,305 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 151 transitions. [2018-12-19 21:30:57,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:57,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:57,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:57,305 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:57,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-12-19 21:30:57,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 126 transitions. [2018-12-19 21:30:57,310 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 126 transitions. Word has length 4 [2018-12-19 21:30:57,310 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:57,310 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 126 transitions. [2018-12-19 21:30:57,310 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:57,310 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 126 transitions. [2018-12-19 21:30:57,311 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:57,311 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:57,311 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:57,311 INFO L423 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:57,311 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:57,311 INFO L82 PathProgramCache]: Analyzing trace with hash 929872, now seen corresponding path program 1 times [2018-12-19 21:30:57,312 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:57,312 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:57,315 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:57,315 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:57,315 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:57,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:57,569 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1855#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:57,571 INFO L273 TraceCheckUtils]: 1: Hoare triple {1855#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1856#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (or (<= 1 (select |#memory_int| ULTIMATE.start_main_p4)) (not (= (select |#memory_int| ULTIMATE.start_main_p4) (select |#memory_int| ULTIMATE.start_main_p1)))))} is VALID [2018-12-19 21:30:57,572 INFO L273 TraceCheckUtils]: 2: Hoare triple {1856#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (or (<= 1 (select |#memory_int| ULTIMATE.start_main_p4)) (not (= (select |#memory_int| ULTIMATE.start_main_p4) (select |#memory_int| ULTIMATE.start_main_p1)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:57,573 INFO L273 TraceCheckUtils]: 3: Hoare triple {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2018-12-19 21:30:57,573 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:57,573 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:57,574 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:57,574 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:57,574 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [27] [2018-12-19 21:30:57,576 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:57,576 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:57,608 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:57,609 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:30:57,609 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:57,609 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:57,609 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:57,609 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:30:57,620 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:57,620 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:57,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:57,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:57,629 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:57,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,693 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:30:57,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,756 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:30:57,821 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,822 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,824 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,825 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,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, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:30:57,915 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,922 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:30:57,926 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:57,948 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:57,969 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:57,990 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:58,022 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:30:58,037 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:30:58,051 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:30:58,072 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:30:58,125 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:30:58,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, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:30:58,161 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:58,192 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:58,217 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:58,236 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:58,251 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:58,264 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:58,314 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:30:58,315 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-19 21:30:58,338 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:58,339 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_16|]. (let ((.cse2 (store |v_#valid_16| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_64| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)))))) [2018-12-19 21:30:58,339 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:30:58,526 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,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, 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:58,534 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:58,665 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:58,665 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:30:58,679 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:58,679 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_65|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_65| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_65| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_65| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_65| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_65| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (= 0 (select |v_#memory_int_65| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:30:58,679 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:58,836 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,840 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,842 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:58,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, 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:58,850 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:58,897 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:58,898 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2018-12-19 21:30:58,908 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:58,908 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_66|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_66| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_66| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_66| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_66| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_66| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_66| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:30:58,908 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:30:58,944 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1861#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:58,947 INFO L273 TraceCheckUtils]: 1: Hoare triple {1861#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1865#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:30:58,950 INFO L273 TraceCheckUtils]: 2: Hoare triple {1865#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1869#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:30:58,951 INFO L273 TraceCheckUtils]: 3: Hoare triple {1869#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2018-12-19 21:30:58,952 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:58,952 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:58,988 INFO L273 TraceCheckUtils]: 3: Hoare triple {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2018-12-19 21:30:58,990 INFO L273 TraceCheckUtils]: 2: Hoare triple {1876#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:58,991 INFO L273 TraceCheckUtils]: 1: Hoare triple {1880#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1876#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:58,993 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1880#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:58,994 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:30:59,014 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:59,014 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:30:59,014 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:59,014 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:59,014 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:59,015 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:59,027 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:59,027 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:59,027 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:59,028 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:30:59,028 INFO L87 Difference]: Start difference. First operand 31 states and 126 transitions. Second operand 8 states. [2018-12-19 21:31:00,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:00,093 INFO L93 Difference]: Finished difference Result 73 states and 228 transitions. [2018-12-19 21:31:00,093 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:31:00,093 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:31:00,093 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:00,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:00,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 92 transitions. [2018-12-19 21:31:00,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:00,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 92 transitions. [2018-12-19 21:31:00,095 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 92 transitions. [2018-12-19 21:31:00,257 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:31:00,259 INFO L225 Difference]: With dead ends: 73 [2018-12-19 21:31:00,259 INFO L226 Difference]: Without dead ends: 71 [2018-12-19 21:31:00,259 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:31:00,259 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-12-19 21:31:00,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 40. [2018-12-19 21:31:00,610 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:00,610 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 40 states. [2018-12-19 21:31:00,610 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 40 states. [2018-12-19 21:31:00,611 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 40 states. [2018-12-19 21:31:00,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:00,614 INFO L93 Difference]: Finished difference Result 71 states and 222 transitions. [2018-12-19 21:31:00,614 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 222 transitions. [2018-12-19 21:31:00,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:00,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:00,614 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 71 states. [2018-12-19 21:31:00,614 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 71 states. [2018-12-19 21:31:00,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:00,617 INFO L93 Difference]: Finished difference Result 71 states and 222 transitions. [2018-12-19 21:31:00,617 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 222 transitions. [2018-12-19 21:31:00,617 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:00,617 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:00,617 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:00,618 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:00,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-12-19 21:31:00,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 173 transitions. [2018-12-19 21:31:00,619 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 173 transitions. Word has length 4 [2018-12-19 21:31:00,619 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:00,620 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 173 transitions. [2018-12-19 21:31:00,620 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:31:00,620 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 173 transitions. [2018-12-19 21:31:00,620 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:31:00,620 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:00,620 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:31:00,621 INFO L423 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:00,621 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:00,621 INFO L82 PathProgramCache]: Analyzing trace with hash 930184, now seen corresponding path program 1 times [2018-12-19 21:31:00,621 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:00,622 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:00,622 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:00,622 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:00,622 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:00,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:00,694 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2188#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:00,695 INFO L273 TraceCheckUtils]: 1: Hoare triple {2188#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:00,696 INFO L273 TraceCheckUtils]: 2: Hoare triple {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:00,696 INFO L273 TraceCheckUtils]: 3: Hoare triple {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2018-12-19 21:31:00,697 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:31:00,697 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:00,697 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:00,697 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:31:00,698 INFO L207 CegarAbsIntRunner]: [0], [6], [28], [29] [2018-12-19 21:31:00,700 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:00,700 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:00,721 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:00,721 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:31:00,721 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:00,721 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:00,722 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:00,722 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:31:00,731 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:00,732 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:00,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:00,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:00,742 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:00,805 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:31:00,814 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:31:00,827 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,835 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,836 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:31:00,855 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,858 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:31:00,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,885 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:31:00,920 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:31:00,926 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,962 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,991 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:01,014 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:01,032 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:01,049 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:01,086 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,087 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:31:01,163 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,164 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,165 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:31:01,229 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,232 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,233 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,234 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:31:01,311 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,312 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,316 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,318 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,318 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,319 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:31:01,323 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:01,342 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:01,361 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:01,381 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:01,430 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:01,431 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-19 21:31:01,448 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:01,448 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_69|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_17|]. (let ((.cse2 (store |v_#valid_17| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_69| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)))))) [2018-12-19 21:31:01,448 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:31:01,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:01,549 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:31:01,553 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:01,598 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,599 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-19 21:31:03,718 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:03,718 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_70| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 .cse0) (= (store |v_#memory_int_70| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:31:03,718 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:03,791 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2193#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:03,793 INFO L273 TraceCheckUtils]: 1: Hoare triple {2193#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:03,795 INFO L273 TraceCheckUtils]: 2: Hoare triple {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:03,796 INFO L273 TraceCheckUtils]: 3: Hoare triple {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2018-12-19 21:31:03,796 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:31:03,796 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:03,820 INFO L273 TraceCheckUtils]: 3: Hoare triple {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2018-12-19 21:31:03,827 INFO L273 TraceCheckUtils]: 2: Hoare triple {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:03,828 INFO L273 TraceCheckUtils]: 1: Hoare triple {2211#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:03,829 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2211#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:03,829 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:31:03,848 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:03,849 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:31:03,849 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:03,849 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:31:03,849 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:03,849 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:31:03,861 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:31:03,861 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:31:03,862 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:31:03,862 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:31:03,862 INFO L87 Difference]: Start difference. First operand 40 states and 173 transitions. Second operand 6 states. [2018-12-19 21:31:04,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:04,645 INFO L93 Difference]: Finished difference Result 56 states and 192 transitions. [2018-12-19 21:31:04,645 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:31:04,645 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:31:04,645 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:04,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:31:04,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2018-12-19 21:31:04,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:31:04,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2018-12-19 21:31:04,647 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2018-12-19 21:31:04,814 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:31:04,816 INFO L225 Difference]: With dead ends: 56 [2018-12-19 21:31:04,816 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:31:04,817 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:31:04,817 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:31:05,077 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 42. [2018-12-19 21:31:05,077 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:05,078 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 42 states. [2018-12-19 21:31:05,078 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 42 states. [2018-12-19 21:31:05,078 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 42 states. [2018-12-19 21:31:05,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:05,080 INFO L93 Difference]: Finished difference Result 55 states and 190 transitions. [2018-12-19 21:31:05,080 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 190 transitions. [2018-12-19 21:31:05,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:05,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:05,081 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 55 states. [2018-12-19 21:31:05,081 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 55 states. [2018-12-19 21:31:05,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:05,083 INFO L93 Difference]: Finished difference Result 55 states and 190 transitions. [2018-12-19 21:31:05,083 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 190 transitions. [2018-12-19 21:31:05,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:05,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:05,084 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:05,084 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:05,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-12-19 21:31:05,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 180 transitions. [2018-12-19 21:31:05,086 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 180 transitions. Word has length 4 [2018-12-19 21:31:05,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:05,086 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 180 transitions. [2018-12-19 21:31:05,086 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:31:05,086 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 180 transitions. [2018-12-19 21:31:05,087 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:31:05,087 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:05,087 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:31:05,087 INFO L423 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:05,087 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:05,087 INFO L82 PathProgramCache]: Analyzing trace with hash 945434, now seen corresponding path program 1 times [2018-12-19 21:31:05,088 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:05,088 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:05,088 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:05,088 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:05,089 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:05,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:05,227 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2472#(and (or (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} is VALID [2018-12-19 21:31:05,229 INFO L273 TraceCheckUtils]: 1: Hoare triple {2472#(and (or (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2473#(or (and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6))) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:31:05,230 INFO L273 TraceCheckUtils]: 2: Hoare triple {2473#(or (and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6))) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:05,231 INFO L273 TraceCheckUtils]: 3: Hoare triple {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2018-12-19 21:31:05,231 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:05,232 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:05,232 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:05,232 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:31:05,232 INFO L207 CegarAbsIntRunner]: [0], [22], [24], [27] [2018-12-19 21:31:05,235 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:05,235 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:05,253 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:05,253 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:31:05,253 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:05,253 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:05,254 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:05,254 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:31:05,264 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:05,264 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:05,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:05,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:05,278 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:05,350 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:05,352 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:31:05,420 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:05,449 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:05,450 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:31:06,004 WARN L181 SmtUtils]: Spent 480.00 ms on a formula simplification. DAG size of input: 35 DAG size of output: 29 [2018-12-19 21:31:06,152 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,153 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,155 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,157 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,158 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:31:06,250 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,254 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,256 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,258 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,260 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,261 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:31:06,417 WARN L181 SmtUtils]: Spent 113.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 36 [2018-12-19 21:31:06,435 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,467 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,509 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,522 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,523 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,524 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,526 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:06,527 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:31:06,531 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:06,589 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:06,624 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:06,666 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:06,704 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:06,775 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:31:06,787 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:31:06,819 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:31:06,839 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:31:06,864 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:31:06,931 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:31:06,936 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:06,979 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:07,002 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:07,022 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:07,038 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:07,053 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:07,113 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:07,113 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-19 21:31:07,123 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:07,123 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_72|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_18|]. (let ((.cse0 (store |v_#valid_18| ULTIMATE.start_main_p1 1))) (let ((.cse3 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p3 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= 0 (select (store .cse2 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse2 ULTIMATE.start_main_p5) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_72| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= 0 (select .cse3 ULTIMATE.start_main_p3))))))) [2018-12-19 21:31:07,123 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:31:07,306 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:07,307 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-19 21:31:07,355 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:07,521 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:07,521 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-19 21:31:09,545 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:09,546 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_73|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_73| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_73| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_73| ULTIMATE.start_main_p5 (+ .cse0 1))) (= .cse0 0) (= (select |v_#memory_int_73| ULTIMATE.start_main_p6) 0) (= (select |v_#memory_int_73| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:31:09,546 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:31:09,682 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,683 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,685 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,720 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,736 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,736 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 111 [2018-12-19 21:31:09,742 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:09,815 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:09,816 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:81, output treesize:55 [2018-12-19 21:31:11,853 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:11,853 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_74|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_74| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_74| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_74| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_74| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p5) 1) (= .cse0 0))) [2018-12-19 21:31:11,853 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:11,908 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2478#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2018-12-19 21:31:11,910 INFO L273 TraceCheckUtils]: 1: Hoare triple {2478#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2482#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:31:11,913 INFO L273 TraceCheckUtils]: 2: Hoare triple {2482#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2486#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:31:11,915 INFO L273 TraceCheckUtils]: 3: Hoare triple {2486#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2018-12-19 21:31:11,915 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:11,916 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:11,955 INFO L273 TraceCheckUtils]: 3: Hoare triple {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2018-12-19 21:31:11,956 INFO L273 TraceCheckUtils]: 2: Hoare triple {2493#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:11,958 INFO L273 TraceCheckUtils]: 1: Hoare triple {2497#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2493#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:11,960 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2497#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:11,961 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:11,986 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:11,986 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:31:11,986 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:11,987 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:31:11,987 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:11,987 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:31:12,002 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:31:12,002 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:31:12,003 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:31:12,003 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=54, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:31:12,003 INFO L87 Difference]: Start difference. First operand 42 states and 180 transitions. Second operand 8 states. [2018-12-19 21:31:16,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:16,170 INFO L93 Difference]: Finished difference Result 96 states and 313 transitions. [2018-12-19 21:31:16,170 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:31:16,170 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:31:16,171 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:16,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:16,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2018-12-19 21:31:16,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:16,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2018-12-19 21:31:16,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 99 transitions. [2018-12-19 21:31:16,393 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:16,395 INFO L225 Difference]: With dead ends: 96 [2018-12-19 21:31:16,395 INFO L226 Difference]: Without dead ends: 93 [2018-12-19 21:31:16,396 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=52, Invalid=80, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:31:16,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2018-12-19 21:31:16,876 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 55. [2018-12-19 21:31:16,876 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:16,877 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand 55 states. [2018-12-19 21:31:16,877 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 55 states. [2018-12-19 21:31:16,877 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 55 states. [2018-12-19 21:31:16,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:16,880 INFO L93 Difference]: Finished difference Result 93 states and 305 transitions. [2018-12-19 21:31:16,880 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 305 transitions. [2018-12-19 21:31:16,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:16,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:16,881 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 93 states. [2018-12-19 21:31:16,881 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 93 states. [2018-12-19 21:31:16,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:16,885 INFO L93 Difference]: Finished difference Result 93 states and 305 transitions. [2018-12-19 21:31:16,885 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 305 transitions. [2018-12-19 21:31:16,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:16,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:16,885 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:16,886 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:16,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-12-19 21:31:16,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 250 transitions. [2018-12-19 21:31:16,888 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 250 transitions. Word has length 4 [2018-12-19 21:31:16,888 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:16,888 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 250 transitions. [2018-12-19 21:31:16,889 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:31:16,889 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 250 transitions. [2018-12-19 21:31:16,889 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:31:16,889 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:16,889 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:31:16,890 INFO L423 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:16,890 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:16,890 INFO L82 PathProgramCache]: Analyzing trace with hash 945000, now seen corresponding path program 1 times [2018-12-19 21:31:16,890 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:16,891 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:16,891 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:16,891 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:16,891 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:16,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:17,350 WARN L181 SmtUtils]: Spent 259.00 ms on a formula simplification. DAG size of input: 21 DAG size of output: 14 [2018-12-19 21:31:17,388 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2911#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:31:17,390 INFO L273 TraceCheckUtils]: 1: Hoare triple {2911#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2912#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:31:17,391 INFO L273 TraceCheckUtils]: 2: Hoare triple {2912#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2913#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:31:17,392 INFO L273 TraceCheckUtils]: 3: Hoare triple {2913#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2018-12-19 21:31:17,393 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:17,393 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:17,393 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:17,394 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:31:17,394 INFO L207 CegarAbsIntRunner]: [0], [10], [22], [27] [2018-12-19 21:31:17,396 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:17,396 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:17,421 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:17,421 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:31:17,421 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:17,422 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:17,422 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:17,422 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:31:17,432 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:17,432 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:17,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:17,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:17,445 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:17,525 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:31:17,536 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:31:17,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,554 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,556 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:31:17,577 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,579 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,580 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,581 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:31:17,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,608 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:31:17,645 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:31:17,653 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:17,693 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:17,724 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:17,750 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:17,771 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:17,791 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:17,832 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,833 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:31:17,909 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,911 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,912 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:31:17,989 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,994 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:17,998 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:31:18,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:18,100 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:18,103 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:18,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:18,106 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:18,106 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:18,107 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:31:18,115 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:18,140 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:18,163 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:18,187 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:18,244 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:18,245 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:31:18,260 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:18,260 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_77|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, |v_#valid_19|]. (let ((.cse2 (store |v_#valid_19| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_77| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p2) 0))))) [2018-12-19 21:31:18,261 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:31:18,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:18,419 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:31:18,427 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:18,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:31:18,480 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:31:20,495 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:20,495 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_78| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_78| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_78| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_78| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_78| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_78| ULTIMATE.start_main_p5 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:31:20,495 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:20,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:20,618 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:20,619 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:20,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:20,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:20,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:20,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:20,625 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:31:20,632 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:20,681 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:20,682 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2018-12-19 21:31:22,717 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:22,717 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_79|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_79| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_79| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p5) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:31:22,718 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:22,757 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2917#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:22,759 INFO L273 TraceCheckUtils]: 1: Hoare triple {2917#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2921#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:31:22,761 INFO L273 TraceCheckUtils]: 2: Hoare triple {2921#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2925#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:31:22,762 INFO L273 TraceCheckUtils]: 3: Hoare triple {2925#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2018-12-19 21:31:22,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:31:22,762 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:22,806 INFO L273 TraceCheckUtils]: 3: Hoare triple {2929#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2018-12-19 21:31:22,807 INFO L273 TraceCheckUtils]: 2: Hoare triple {2933#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2929#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:22,808 INFO L273 TraceCheckUtils]: 1: Hoare triple {2937#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2933#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:22,810 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2937#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:22,810 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:22,829 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:22,829 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:31:22,830 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:22,830 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:31:22,830 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:22,830 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:31:22,842 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:31:22,842 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:31:22,842 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:31:22,842 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:31:22,843 INFO L87 Difference]: Start difference. First operand 55 states and 250 transitions. Second operand 8 states. [2018-12-19 21:31:26,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:26,686 INFO L93 Difference]: Finished difference Result 84 states and 299 transitions. [2018-12-19 21:31:26,686 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:31:26,686 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:31:26,686 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:26,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:26,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-19 21:31:26,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:26,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-19 21:31:26,688 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 72 transitions. [2018-12-19 21:31:26,813 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:26,815 INFO L225 Difference]: With dead ends: 84 [2018-12-19 21:31:26,815 INFO L226 Difference]: Without dead ends: 82 [2018-12-19 21:31:26,816 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=69, Invalid=113, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:31:26,816 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2018-12-19 21:31:27,204 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 58. [2018-12-19 21:31:27,205 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:27,205 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 58 states. [2018-12-19 21:31:27,205 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 58 states. [2018-12-19 21:31:27,205 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 58 states. [2018-12-19 21:31:27,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:27,209 INFO L93 Difference]: Finished difference Result 82 states and 295 transitions. [2018-12-19 21:31:27,209 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 295 transitions. [2018-12-19 21:31:27,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:27,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:27,210 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 82 states. [2018-12-19 21:31:27,210 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 82 states. [2018-12-19 21:31:27,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:27,213 INFO L93 Difference]: Finished difference Result 82 states and 295 transitions. [2018-12-19 21:31:27,213 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 295 transitions. [2018-12-19 21:31:27,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:27,214 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:27,214 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:27,214 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:27,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-12-19 21:31:27,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 270 transitions. [2018-12-19 21:31:27,216 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 270 transitions. Word has length 4 [2018-12-19 21:31:27,216 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:27,217 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 270 transitions. [2018-12-19 21:31:27,217 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:31:27,217 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 270 transitions. [2018-12-19 21:31:27,217 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:31:27,217 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:27,217 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:31:27,218 INFO L423 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:27,218 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:27,218 INFO L82 PathProgramCache]: Analyzing trace with hash 946922, now seen corresponding path program 1 times [2018-12-19 21:31:27,218 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:27,219 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:27,219 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:27,219 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:27,219 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:27,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:27,473 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3325#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:31:27,474 INFO L273 TraceCheckUtils]: 1: Hoare triple {3325#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3326#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:31:27,475 INFO L273 TraceCheckUtils]: 2: Hoare triple {3326#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3327#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:31:27,476 INFO L273 TraceCheckUtils]: 3: Hoare triple {3327#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2018-12-19 21:31:27,476 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:27,476 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:27,476 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:27,476 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:31:27,476 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [27] [2018-12-19 21:31:27,479 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:27,479 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:27,487 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:27,488 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:31:27,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:27,488 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:27,488 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:27,488 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:31:27,499 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:27,499 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:27,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:27,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:27,515 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:27,586 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:31:27,595 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:31:27,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,606 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:31:27,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,787 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,821 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,822 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:31:27,910 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,912 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,914 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,916 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:31:27,942 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,943 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,945 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,947 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,948 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:27,950 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:31:27,958 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,006 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,034 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,058 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,077 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,094 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,138 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:31:28,207 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,209 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:31:28,293 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,298 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:31:28,395 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,396 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,398 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,399 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,400 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,402 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:31:28,526 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,527 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,529 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,530 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,531 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,532 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,534 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,536 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:31:28,539 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,572 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,605 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,637 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,670 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,739 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:28,739 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-19 21:31:28,753 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:28,753 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_82|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_20|]. (let ((.cse0 (store |v_#valid_20| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p5) 0) (= (store (store (store (store (store (store |v_#memory_int_82| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= 0 (select .cse3 ULTIMATE.start_main_p4)) (= (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0)))))) [2018-12-19 21:31:28,754 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:31:28,892 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:28,894 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-19 21:31:28,900 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:28,966 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:28,966 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-19 21:31:31,110 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:31,111 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_83|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_83| ULTIMATE.start_main_p6))) (and (= 0 .cse0) (= (select |v_#memory_int_83| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_83| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_83| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:31:31,111 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:31,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,287 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,288 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:31,289 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 112 [2018-12-19 21:31:31,340 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:31,407 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:31,407 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2018-12-19 21:31:33,570 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:33,570 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_84|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_84| ULTIMATE.start_main_p2))) (and (= (+ (select |v_#memory_int_84| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_84| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_84| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_84| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2018-12-19 21:31:33,570 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:33,634 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3331#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:31:33,637 INFO L273 TraceCheckUtils]: 1: Hoare triple {3331#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3335#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:33,641 INFO L273 TraceCheckUtils]: 2: Hoare triple {3335#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3339#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))))} is VALID [2018-12-19 21:31:33,643 INFO L273 TraceCheckUtils]: 3: Hoare triple {3339#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))))} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2018-12-19 21:31:33,643 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:33,643 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:33,694 INFO L273 TraceCheckUtils]: 3: Hoare triple {3343#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2018-12-19 21:31:33,695 INFO L273 TraceCheckUtils]: 2: Hoare triple {3347#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3343#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:33,696 INFO L273 TraceCheckUtils]: 1: Hoare triple {3351#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3347#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:33,699 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3351#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:33,699 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:33,717 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:33,718 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:31:33,718 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:33,718 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:31:33,718 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:33,718 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:31:33,735 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:31:33,736 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:31:33,736 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:31:33,736 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:31:33,736 INFO L87 Difference]: Start difference. First operand 58 states and 270 transitions. Second operand 8 states. [2018-12-19 21:31:38,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:38,550 INFO L93 Difference]: Finished difference Result 91 states and 313 transitions. [2018-12-19 21:31:38,550 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:31:38,551 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:31:38,551 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:38,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:38,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2018-12-19 21:31:38,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:38,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2018-12-19 21:31:38,553 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2018-12-19 21:31:39,015 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:31:39,017 INFO L225 Difference]: With dead ends: 91 [2018-12-19 21:31:39,017 INFO L226 Difference]: Without dead ends: 89 [2018-12-19 21:31:39,018 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:31:39,018 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-12-19 21:31:39,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 59. [2018-12-19 21:31:39,601 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:39,601 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand 59 states. [2018-12-19 21:31:39,601 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 59 states. [2018-12-19 21:31:39,602 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 59 states. [2018-12-19 21:31:39,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:39,604 INFO L93 Difference]: Finished difference Result 89 states and 310 transitions. [2018-12-19 21:31:39,604 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 310 transitions. [2018-12-19 21:31:39,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:39,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:39,605 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 89 states. [2018-12-19 21:31:39,605 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 89 states. [2018-12-19 21:31:39,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:39,607 INFO L93 Difference]: Finished difference Result 89 states and 310 transitions. [2018-12-19 21:31:39,607 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 310 transitions. [2018-12-19 21:31:39,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:39,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:39,607 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:39,607 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:39,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-12-19 21:31:39,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 277 transitions. [2018-12-19 21:31:39,609 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 277 transitions. Word has length 4 [2018-12-19 21:31:39,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:39,609 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 277 transitions. [2018-12-19 21:31:39,609 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:31:39,609 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 277 transitions. [2018-12-19 21:31:39,610 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:31:39,610 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:39,610 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:31:39,610 INFO L423 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:39,610 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:39,610 INFO L82 PathProgramCache]: Analyzing trace with hash 934028, now seen corresponding path program 1 times [2018-12-19 21:31:39,610 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:39,611 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:39,611 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:39,611 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:39,611 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:39,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:39,708 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3761#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:39,710 INFO L273 TraceCheckUtils]: 1: Hoare triple {3761#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:39,710 INFO L273 TraceCheckUtils]: 2: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:39,711 INFO L273 TraceCheckUtils]: 3: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2018-12-19 21:31:39,711 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:31:39,711 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:39,711 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:39,711 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:31:39,711 INFO L207 CegarAbsIntRunner]: [0], [10], [28], [29] [2018-12-19 21:31:39,713 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:39,713 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:39,722 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:39,722 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:31:39,722 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:39,722 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:39,722 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:39,722 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:31:39,732 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:39,732 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:39,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:39,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:39,743 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:39,768 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:31:39,777 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2018-12-19 21:31:39,790 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:39,791 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:39,792 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 36 [2018-12-19 21:31:39,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:39,811 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:39,813 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:39,814 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2018-12-19 21:31:40,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,099 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,100 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,101 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,102 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 68 [2018-12-19 21:31:40,137 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 9 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 67 [2018-12-19 21:31:40,144 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:40,183 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:40,210 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:40,267 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:40,285 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:40,303 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:40,334 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-19 21:31:40,369 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,371 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,372 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-19 21:31:40,438 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,440 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,442 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,444 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,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 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-19 21:31:40,532 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,536 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,537 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,539 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,540 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-19 21:31:40,545 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:40,565 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:40,585 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:40,605 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:40,656 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:40,656 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 7 variables, input treesize:64, output treesize:67 [2018-12-19 21:31:40,720 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:40,720 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_87|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_21|]. (let ((.cse0 (store (store |v_#valid_21| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store (store |v_#memory_int_87| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4))))) [2018-12-19 21:31:40,721 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:31:40,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:40,887 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 72 [2018-12-19 21:31:40,895 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-19 21:31:41,049 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 7 dim-0 vars, and 2 xjuncts. [2018-12-19 21:31:41,050 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:92 [2018-12-19 21:31:43,121 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:43,122 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_88| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_88| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_88| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (select |v_#memory_int_88| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (store |v_#memory_int_88| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_88| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:31:43,122 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, v_prenex_3, v_prenex_1, v_prenex_2]. (let ((.cse0 (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) .cse0 (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (not (= v_prenex_3 v_prenex_1)) (not (= v_prenex_3 v_prenex_2)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_3 ULTIMATE.start_main_p2)) .cse0 (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_2 v_prenex_1)) (= (select |#memory_int| v_prenex_3) 0) (= (select |#memory_int| v_prenex_1) 0)))) [2018-12-19 21:31:43,279 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3766#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:43,281 INFO L273 TraceCheckUtils]: 1: Hoare triple {3766#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:31:43,281 INFO L273 TraceCheckUtils]: 2: Hoare triple {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-19 21:31:43,282 INFO L273 TraceCheckUtils]: 3: Hoare triple {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2018-12-19 21:31:43,283 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:31:43,283 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:43,297 INFO L273 TraceCheckUtils]: 3: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2018-12-19 21:31:43,298 INFO L273 TraceCheckUtils]: 2: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:43,303 INFO L273 TraceCheckUtils]: 1: Hoare triple {3783#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:43,304 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3783#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-19 21:31:43,304 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:31:43,323 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-19 21:31:43,323 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2018-12-19 21:31:43,323 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:31:43,324 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-19 21:31:43,324 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:43,324 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:31:43,328 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:31:43,329 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:31:43,329 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:31:43,329 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:31:43,329 INFO L87 Difference]: Start difference. First operand 59 states and 277 transitions. Second operand 4 states. [2018-12-19 21:31:43,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:43,948 INFO L93 Difference]: Finished difference Result 90 states and 454 transitions. [2018-12-19 21:31:43,948 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-12-19 21:31:43,948 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-19 21:31:43,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:43,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:31:43,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2018-12-19 21:31:43,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:31:43,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2018-12-19 21:31:43,949 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 38 transitions. [2018-12-19 21:31:43,989 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:43,992 INFO L225 Difference]: With dead ends: 90 [2018-12-19 21:31:43,992 INFO L226 Difference]: Without dead ends: 89 [2018-12-19 21:31:43,992 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:31:43,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-12-19 21:31:44,570 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 83. [2018-12-19 21:31:44,570 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:44,570 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand 83 states. [2018-12-19 21:31:44,570 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 83 states. [2018-12-19 21:31:44,571 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 83 states. [2018-12-19 21:31:44,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:44,575 INFO L93 Difference]: Finished difference Result 89 states and 453 transitions. [2018-12-19 21:31:44,575 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 453 transitions. [2018-12-19 21:31:44,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:44,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:44,576 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 89 states. [2018-12-19 21:31:44,576 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 89 states. [2018-12-19 21:31:44,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:44,579 INFO L93 Difference]: Finished difference Result 89 states and 453 transitions. [2018-12-19 21:31:44,579 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 453 transitions. [2018-12-19 21:31:44,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:44,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:44,580 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:44,580 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:44,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 83 states. [2018-12-19 21:31:44,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 449 transitions. [2018-12-19 21:31:44,584 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 449 transitions. Word has length 4 [2018-12-19 21:31:44,584 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:44,584 INFO L480 AbstractCegarLoop]: Abstraction has 83 states and 449 transitions. [2018-12-19 21:31:44,584 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:31:44,584 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 449 transitions. [2018-12-19 21:31:44,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:31:44,585 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:44,585 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:31:44,586 INFO L423 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:44,586 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:44,586 INFO L82 PathProgramCache]: Analyzing trace with hash 933592, now seen corresponding path program 1 times [2018-12-19 21:31:44,586 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:44,587 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:44,587 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:44,587 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:44,587 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:44,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:44,779 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4259#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:31:44,780 INFO L273 TraceCheckUtils]: 1: Hoare triple {4259#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4260#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:31:44,781 INFO L273 TraceCheckUtils]: 2: Hoare triple {4260#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4261#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:31:44,782 INFO L273 TraceCheckUtils]: 3: Hoare triple {4261#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2018-12-19 21:31:44,782 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:44,782 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:44,783 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:44,783 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:31:44,783 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [27] [2018-12-19 21:31:44,784 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:44,784 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:44,800 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:44,801 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:31:44,801 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:44,801 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:44,801 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:44,801 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:31:44,810 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:44,810 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:44,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:44,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:44,820 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:44,902 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:44,903 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:31:44,962 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:44,964 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:44,965 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:31:45,032 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:45,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:45,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:45,037 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:45,038 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:31:45,120 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:45,121 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:45,123 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:45,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:45,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:45,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:45,130 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:31:45,134 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:45,162 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:45,189 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:45,217 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:45,257 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:31:45,270 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:31:45,285 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:31:45,305 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:31:45,345 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:31:45,405 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:31:45,435 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:45,540 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:45,566 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:45,588 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:45,606 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:45,624 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:45,672 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:45,672 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:31:45,692 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:45,693 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_90|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_22|]. (let ((.cse0 (store |v_#valid_22| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_90| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p4)))))) [2018-12-19 21:31:45,693 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:31:45,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:45,858 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:31:45,864 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:45,910 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:45,910 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:31:45,972 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:45,973 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_91|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_91| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_91| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_91| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-19 21:31:45,973 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:46,065 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:46,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:46,068 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:46,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:46,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:46,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:46,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:46,074 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:31:46,082 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:46,127 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:46,128 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-19 21:31:46,297 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:46,298 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_92|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_92| ULTIMATE.start_main_p3))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_92| ULTIMATE.start_main_p2) 1) 0) (= (store |v_#memory_int_92| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_92| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_92| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_92| ULTIMATE.start_main_p4) 0))) [2018-12-19 21:31:46,298 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:46,337 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4265#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:31:46,339 INFO L273 TraceCheckUtils]: 1: Hoare triple {4265#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:31:46,341 INFO L273 TraceCheckUtils]: 2: Hoare triple {4269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-19 21:31:46,342 INFO L273 TraceCheckUtils]: 3: Hoare triple {4273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2018-12-19 21:31:46,342 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:46,342 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:46,393 INFO L273 TraceCheckUtils]: 3: Hoare triple {4277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2018-12-19 21:31:46,395 INFO L273 TraceCheckUtils]: 2: Hoare triple {4281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:46,396 INFO L273 TraceCheckUtils]: 1: Hoare triple {4285#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:46,398 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4285#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:46,399 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:46,418 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:46,418 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:31:46,418 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:46,418 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:31:46,418 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:46,418 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:31:46,432 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:31:46,432 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:31:46,432 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:31:46,433 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:31:46,433 INFO L87 Difference]: Start difference. First operand 83 states and 449 transitions. Second operand 8 states. [2018-12-19 21:31:48,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:48,502 INFO L93 Difference]: Finished difference Result 121 states and 532 transitions. [2018-12-19 21:31:48,502 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:31:48,503 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:31:48,503 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:48,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:48,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-19 21:31:48,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:48,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-19 21:31:48,504 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2018-12-19 21:31:48,615 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:48,618 INFO L225 Difference]: With dead ends: 121 [2018-12-19 21:31:48,618 INFO L226 Difference]: Without dead ends: 119 [2018-12-19 21:31:48,618 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:31:48,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2018-12-19 21:31:49,417 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 91. [2018-12-19 21:31:49,417 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:49,417 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand 91 states. [2018-12-19 21:31:49,417 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 91 states. [2018-12-19 21:31:49,417 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 91 states. [2018-12-19 21:31:49,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:49,422 INFO L93 Difference]: Finished difference Result 119 states and 524 transitions. [2018-12-19 21:31:49,422 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 524 transitions. [2018-12-19 21:31:49,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:49,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:49,422 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 119 states. [2018-12-19 21:31:49,423 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 119 states. [2018-12-19 21:31:49,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:49,426 INFO L93 Difference]: Finished difference Result 119 states and 524 transitions. [2018-12-19 21:31:49,426 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 524 transitions. [2018-12-19 21:31:49,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:49,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:49,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:49,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:49,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-12-19 21:31:49,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 493 transitions. [2018-12-19 21:31:49,428 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 493 transitions. Word has length 4 [2018-12-19 21:31:49,429 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:49,429 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 493 transitions. [2018-12-19 21:31:49,429 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:31:49,429 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 493 transitions. [2018-12-19 21:31:49,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:31:49,429 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:49,429 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:31:49,429 INFO L423 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:49,430 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:49,430 INFO L82 PathProgramCache]: Analyzing trace with hash 937872, now seen corresponding path program 1 times [2018-12-19 21:31:49,430 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:49,430 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:49,430 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:49,431 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:49,431 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:49,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:49,505 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4877#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:49,507 INFO L273 TraceCheckUtils]: 1: Hoare triple {4877#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:49,507 INFO L273 TraceCheckUtils]: 2: Hoare triple {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:49,508 INFO L273 TraceCheckUtils]: 3: Hoare triple {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2018-12-19 21:31:49,508 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:31:49,509 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:49,509 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:49,509 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:31:49,509 INFO L207 CegarAbsIntRunner]: [0], [14], [28], [29] [2018-12-19 21:31:49,511 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:49,511 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:49,521 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:49,521 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 21:31:49,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:49,521 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:49,521 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:49,521 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:31:49,530 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:49,530 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:49,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:49,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:49,547 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:49,570 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:31:49,580 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2018-12-19 21:31:49,592 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,594 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,595 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 36 [2018-12-19 21:31:49,611 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,615 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2018-12-19 21:31:49,635 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,637 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,641 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 68 [2018-12-19 21:31:49,675 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 9 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 67 [2018-12-19 21:31:49,683 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,716 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,741 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,762 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,779 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,796 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,824 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-19 21:31:49,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,859 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-19 21:31:49,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,925 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-19 21:31:50,001 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:50,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:50,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:50,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:50,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:50,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:50,009 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-19 21:31:50,013 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:50,032 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:50,050 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:50,070 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:50,117 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:50,117 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:64, output treesize:67 [2018-12-19 21:31:50,150 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:50,150 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_95|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_23|]. (let ((.cse0 (store (store |v_#valid_23| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (select .cse1 ULTIMATE.start_main_p4) 0) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_95| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0))))) [2018-12-19 21:31:50,150 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:31:50,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:50,284 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 68 [2018-12-19 21:31:50,293 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:50,333 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:50,334 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:46 [2018-12-19 21:31:50,359 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:50,359 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_96|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_96| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_96| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_96| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:31:50,359 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:50,488 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4882#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:31:50,491 INFO L273 TraceCheckUtils]: 1: Hoare triple {4882#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:50,491 INFO L273 TraceCheckUtils]: 2: Hoare triple {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:50,492 INFO L273 TraceCheckUtils]: 3: Hoare triple {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2018-12-19 21:31:50,492 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:31:50,493 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:50,520 INFO L273 TraceCheckUtils]: 3: Hoare triple {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2018-12-19 21:31:50,521 INFO L273 TraceCheckUtils]: 2: Hoare triple {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:50,522 INFO L273 TraceCheckUtils]: 1: Hoare triple {4900#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:50,524 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4900#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:50,525 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:31:50,545 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:50,545 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:31:50,545 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:50,545 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:31:50,545 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:50,546 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:31:50,565 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:31:50,565 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:31:50,565 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:31:50,565 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:31:50,566 INFO L87 Difference]: Start difference. First operand 91 states and 493 transitions. Second operand 6 states. [2018-12-19 21:31:52,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:52,132 INFO L93 Difference]: Finished difference Result 110 states and 511 transitions. [2018-12-19 21:31:52,132 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:31:52,132 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:31:52,132 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:52,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:31:52,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-19 21:31:52,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:31:52,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-19 21:31:52,133 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2018-12-19 21:31:52,243 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:31:52,245 INFO L225 Difference]: With dead ends: 110 [2018-12-19 21:31:52,246 INFO L226 Difference]: Without dead ends: 109 [2018-12-19 21:31:52,246 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 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:31:52,246 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-12-19 21:31:52,741 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 91. [2018-12-19 21:31:52,742 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:52,742 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand 91 states. [2018-12-19 21:31:52,742 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 91 states. [2018-12-19 21:31:52,742 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 91 states. [2018-12-19 21:31:52,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:52,746 INFO L93 Difference]: Finished difference Result 109 states and 509 transitions. [2018-12-19 21:31:52,746 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 509 transitions. [2018-12-19 21:31:52,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:52,746 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:52,747 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 109 states. [2018-12-19 21:31:52,747 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 109 states. [2018-12-19 21:31:52,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:52,750 INFO L93 Difference]: Finished difference Result 109 states and 509 transitions. [2018-12-19 21:31:52,750 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 509 transitions. [2018-12-19 21:31:52,751 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:52,751 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:52,751 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:52,751 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:52,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-12-19 21:31:52,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 493 transitions. [2018-12-19 21:31:52,754 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 493 transitions. Word has length 4 [2018-12-19 21:31:52,754 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:52,754 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 493 transitions. [2018-12-19 21:31:52,754 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:31:52,754 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 493 transitions. [2018-12-19 21:31:52,755 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:31:52,755 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:52,755 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1] [2018-12-19 21:31:52,755 INFO L423 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:52,755 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:52,755 INFO L82 PathProgramCache]: Analyzing trace with hash 29182900, now seen corresponding path program 2 times [2018-12-19 21:31:52,756 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:52,756 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:52,756 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:52,756 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:52,756 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:52,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:52,891 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5458#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:31:52,892 INFO L273 TraceCheckUtils]: 1: Hoare triple {5458#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5459#(= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:52,893 INFO L273 TraceCheckUtils]: 2: Hoare triple {5459#(= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5460#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:31:52,894 INFO L273 TraceCheckUtils]: 3: Hoare triple {5460#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:52,895 INFO L273 TraceCheckUtils]: 4: Hoare triple {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2018-12-19 21:31:52,895 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:52,895 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:52,895 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:52,896 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:31:52,896 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-19 21:31:52,896 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:52,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 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:31:52,905 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:31:52,906 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:31:52,914 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:31:52,914 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:31:52,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:52,920 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:53,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, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:31:53,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 24 treesize of output 30 [2018-12-19 21:31:53,019 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,020 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,021 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:31:53,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,036 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,036 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:31:53,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,058 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:31:53,096 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,099 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,100 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,101 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:31:53,105 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,152 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,178 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,200 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,217 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,233 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,272 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:31:53,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,337 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,338 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:31:53,408 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,411 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,413 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:31:53,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,502 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,503 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,505 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:31:53,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,617 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,619 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,622 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:31:53,628 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,659 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,688 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,718 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,749 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,803 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:53,804 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 6 variables, input treesize:92, output treesize:91 [2018-12-19 21:31:53,855 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:53,855 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_98|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, |v_#valid_24|]. (let ((.cse0 (store |v_#valid_24| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= 0 (select .cse3 ULTIMATE.start_main_p5)) (= (select (store .cse3 ULTIMATE.start_main_p5 1) ULTIMATE.start_malloc_ptr) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_98| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_malloc_ptr 0))))))) [2018-12-19 21:31:53,855 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:53,987 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,988 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:31:53,992 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:54,042 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:54,043 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-19 21:31:54,212 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:54,213 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_99|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_99| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_99| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_99| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_99| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_99| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |v_#memory_int_99| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_99| ULTIMATE.start_malloc_ptr) 0))) [2018-12-19 21:31:54,213 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3))) [2018-12-19 21:31:54,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,335 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,341 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:54,342 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 103 [2018-12-19 21:31:54,347 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:54,403 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:54,404 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:71 [2018-12-19 21:31:55,064 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:55,065 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_100|, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_100| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_100| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_100| ULTIMATE.start_malloc_ptr) 0) (= 0 (select |v_#memory_int_100| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_100| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_100| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (+ .cse0 1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |v_#memory_int_100| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:31:55,065 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3))) [2018-12-19 21:31:56,077 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:56,101 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:56,126 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:56,155 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:56,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:56,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:56,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:56,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:56,179 INFO L303 Elim1Store]: Index analysis took 135 ms [2018-12-19 21:31:56,179 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 113 [2018-12-19 21:31:56,187 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:56,275 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:56,275 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:57 [2018-12-19 21:31:56,376 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:56,376 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_101|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_malloc_ptr]. (let ((.cse0 (select |v_#memory_int_101| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_101| ULTIMATE.start_main_p4) 2) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (store |v_#memory_int_101| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_101| ULTIMATE.start_malloc_ptr) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p2)))) [2018-12-19 21:31:56,377 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-19 21:31:56,451 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:31:56,456 INFO L273 TraceCheckUtils]: 1: Hoare triple {5465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5469#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} is VALID [2018-12-19 21:31:56,463 INFO L273 TraceCheckUtils]: 2: Hoare triple {5469#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5473#(and (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} is VALID [2018-12-19 21:31:56,469 INFO L273 TraceCheckUtils]: 3: Hoare triple {5473#(and (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5477#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-19 21:31:56,470 INFO L273 TraceCheckUtils]: 4: Hoare triple {5477#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2018-12-19 21:31:56,470 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:56,471 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:56,518 INFO L273 TraceCheckUtils]: 4: Hoare triple {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2018-12-19 21:31:56,519 INFO L273 TraceCheckUtils]: 3: Hoare triple {5484#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:56,520 INFO L273 TraceCheckUtils]: 2: Hoare triple {5488#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5484#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:31:56,521 INFO L273 TraceCheckUtils]: 1: Hoare triple {5492#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5488#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:31:56,523 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5492#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:31:56,524 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:31:56,543 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:56,543 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:31:56,543 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:56,544 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:31:56,544 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:56,544 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:31:56,573 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:56,574 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:31:56,574 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:31:56,574 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:31:56,574 INFO L87 Difference]: Start difference. First operand 91 states and 493 transitions. Second operand 10 states. [2018-12-19 21:31:59,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:59,895 INFO L93 Difference]: Finished difference Result 133 states and 606 transitions. [2018-12-19 21:31:59,895 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:31:59,895 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:31:59,895 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:59,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:31:59,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2018-12-19 21:31:59,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:31:59,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2018-12-19 21:31:59,897 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 89 transitions. [2018-12-19 21:32:00,227 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:32:00,230 INFO L225 Difference]: With dead ends: 133 [2018-12-19 21:32:00,230 INFO L226 Difference]: Without dead ends: 128 [2018-12-19 21:32:00,230 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=73, Invalid=109, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:32:00,231 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2018-12-19 21:32:01,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 95. [2018-12-19 21:32:01,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:01,059 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand 95 states. [2018-12-19 21:32:01,059 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 95 states. [2018-12-19 21:32:01,059 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 95 states. [2018-12-19 21:32:01,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:01,064 INFO L93 Difference]: Finished difference Result 128 states and 598 transitions. [2018-12-19 21:32:01,064 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 598 transitions. [2018-12-19 21:32:01,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:01,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:01,065 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 128 states. [2018-12-19 21:32:01,065 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 128 states. [2018-12-19 21:32:01,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:01,068 INFO L93 Difference]: Finished difference Result 128 states and 598 transitions. [2018-12-19 21:32:01,068 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 598 transitions. [2018-12-19 21:32:01,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:01,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:01,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:01,069 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:01,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 95 states. [2018-12-19 21:32:01,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 538 transitions. [2018-12-19 21:32:01,071 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 538 transitions. Word has length 5 [2018-12-19 21:32:01,071 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:01,071 INFO L480 AbstractCegarLoop]: Abstraction has 95 states and 538 transitions. [2018-12-19 21:32:01,071 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:32:01,071 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 538 transitions. [2018-12-19 21:32:01,072 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:32:01,072 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:01,072 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:32:01,072 INFO L423 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:01,073 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:01,073 INFO L82 PathProgramCache]: Analyzing trace with hash 29172052, now seen corresponding path program 1 times [2018-12-19 21:32:01,073 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:01,073 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:01,074 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:32:01,074 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:01,074 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:01,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:01,316 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6134#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:32:01,317 INFO L273 TraceCheckUtils]: 1: Hoare triple {6134#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:32:01,318 INFO L273 TraceCheckUtils]: 2: Hoare triple {6135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:01,318 INFO L273 TraceCheckUtils]: 3: Hoare triple {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:01,319 INFO L273 TraceCheckUtils]: 4: Hoare triple {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2018-12-19 21:32:01,319 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:01,319 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:01,319 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:01,319 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:32:01,319 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [28], [29] [2018-12-19 21:32:01,320 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:32:01,320 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:32:01,332 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:32:01,332 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:32:01,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:01,332 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:32:01,332 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:01,332 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:32:01,341 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:01,341 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:32:01,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:01,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:01,350 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:01,406 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:32:01,415 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:32:01,426 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,428 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,429 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:32:01,443 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,446 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,447 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:32:01,468 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,469 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,470 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,472 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,473 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:32:01,506 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:32:01,512 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:01,548 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:01,574 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:01,597 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:01,615 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:01,631 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:01,667 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,668 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:32:01,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,766 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:32:01,833 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,834 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,835 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,836 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,837 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:32:01,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,925 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,926 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:01,927 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:32:01,931 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:01,951 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:01,970 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:01,990 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:02,035 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:02,035 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:32:02,053 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:02,054 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_25|]. (let ((.cse2 (store |v_#valid_25| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p2) 0) (= (store (store (store (store (store (store |v_#memory_int_105| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-19 21:32:02,054 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:32:02,202 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:02,203 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:02,212 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:02,253 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:02,253 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:32:02,265 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:02,265 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_106| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_106| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_106| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0))) [2018-12-19 21:32:02,265 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:32:02,361 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:02,362 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:02,363 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:02,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:02,366 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:02,367 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:02,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:02,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 88 [2018-12-19 21:32:02,376 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:02,466 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:02,467 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-19 21:32:02,535 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:02,535 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_107|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_107| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_107| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_107| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_107| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_107| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_107| ULTIMATE.start_main_p3)))) [2018-12-19 21:32:02,535 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:32:02,614 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6140#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:32:02,617 INFO L273 TraceCheckUtils]: 1: Hoare triple {6140#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6144#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:32:02,619 INFO L273 TraceCheckUtils]: 2: Hoare triple {6144#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:32:02,626 INFO L273 TraceCheckUtils]: 3: Hoare triple {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume #memory_int[main_p1] >= 0; {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:32:02,627 INFO L273 TraceCheckUtils]: 4: Hoare triple {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2018-12-19 21:32:02,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:32:02,628 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:32:02,685 INFO L273 TraceCheckUtils]: 4: Hoare triple {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2018-12-19 21:32:02,686 INFO L273 TraceCheckUtils]: 3: Hoare triple {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:02,687 INFO L273 TraceCheckUtils]: 2: Hoare triple {6162#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:02,688 INFO L273 TraceCheckUtils]: 1: Hoare triple {6166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6162#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:02,691 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:02,691 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:32:02,711 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:32:02,711 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:32:02,711 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:32:02,712 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:32:02,712 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:32:02,712 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:32:02,728 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:02,728 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:32:02,728 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:32:02,729 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:32:02,729 INFO L87 Difference]: Start difference. First operand 95 states and 538 transitions. Second operand 8 states. [2018-12-19 21:32:04,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:04,328 INFO L93 Difference]: Finished difference Result 125 states and 622 transitions. [2018-12-19 21:32:04,329 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:32:04,329 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:32:04,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:04,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:32:04,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-19 21:32:04,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:32:04,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-19 21:32:04,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2018-12-19 21:32:04,420 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:32:04,424 INFO L225 Difference]: With dead ends: 125 [2018-12-19 21:32:04,424 INFO L226 Difference]: Without dead ends: 124 [2018-12-19 21:32:04,424 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 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:32:04,425 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-12-19 21:32:05,238 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 102. [2018-12-19 21:32:05,238 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:05,238 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand 102 states. [2018-12-19 21:32:05,238 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand 102 states. [2018-12-19 21:32:05,239 INFO L87 Difference]: Start difference. First operand 124 states. Second operand 102 states. [2018-12-19 21:32:05,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:05,243 INFO L93 Difference]: Finished difference Result 124 states and 620 transitions. [2018-12-19 21:32:05,243 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 620 transitions. [2018-12-19 21:32:05,244 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:05,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:05,244 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 124 states. [2018-12-19 21:32:05,244 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 124 states. [2018-12-19 21:32:05,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:05,247 INFO L93 Difference]: Finished difference Result 124 states and 620 transitions. [2018-12-19 21:32:05,247 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 620 transitions. [2018-12-19 21:32:05,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:05,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:05,248 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:05,248 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:05,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2018-12-19 21:32:05,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 589 transitions. [2018-12-19 21:32:05,250 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 589 transitions. Word has length 5 [2018-12-19 21:32:05,250 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:05,250 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 589 transitions. [2018-12-19 21:32:05,250 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:32:05,250 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 589 transitions. [2018-12-19 21:32:05,251 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:32:05,251 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:05,251 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:32:05,251 INFO L423 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:05,251 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:05,251 INFO L82 PathProgramCache]: Analyzing trace with hash 29187302, now seen corresponding path program 1 times [2018-12-19 21:32:05,251 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:05,252 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:05,252 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:05,252 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:05,252 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:05,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:05,507 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6812#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:32:05,509 INFO L273 TraceCheckUtils]: 1: Hoare triple {6812#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6813#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:32:05,510 INFO L273 TraceCheckUtils]: 2: Hoare triple {6813#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6814#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} is VALID [2018-12-19 21:32:05,511 INFO L273 TraceCheckUtils]: 3: Hoare triple {6814#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6815#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:32:05,512 INFO L273 TraceCheckUtils]: 4: Hoare triple {6815#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2018-12-19 21:32:05,512 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:05,512 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:05,512 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:05,513 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:32:05,513 INFO L207 CegarAbsIntRunner]: [0], [18], [22], [24], [27] [2018-12-19 21:32:05,515 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:32:05,515 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:32:05,556 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:32:05,556 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:32:05,556 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:05,557 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:32:05,557 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:05,557 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:32:05,570 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:05,570 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:32:05,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:05,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:05,579 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:05,648 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,649 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:32:05,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,715 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:32:05,788 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,789 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,790 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,791 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,792 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:32:05,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,887 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,888 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,889 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:32:06,000 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,010 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:32:06,013 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,045 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,080 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,112 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,164 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,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, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:32:06,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, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:32:06,239 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:32:06,259 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:32:06,283 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:32:06,311 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:32:06,316 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,357 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,381 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,400 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,415 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,429 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,493 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:06,493 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2018-12-19 21:32:06,502 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:06,503 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, |v_#valid_26|]. (let ((.cse3 (store |v_#valid_26| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p4 1))) (and (= (store (store (store (store (store (store |v_#memory_int_110| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse2 ULTIMATE.start_main_p4) 0) (= 0 (select .cse3 ULTIMATE.start_main_p2)) (= (select .cse1 ULTIMATE.start_main_p5) 0)))))) [2018-12-19 21:32:06,503 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:32:06,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,663 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:32:06,668 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,726 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:06,727 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-19 21:32:06,769 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:06,769 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_111|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_111| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_111| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_111| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_111| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_111| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_111| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_111| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:32:06,770 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:32:06,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,888 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,892 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 105 [2018-12-19 21:32:06,898 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,959 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:06,960 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:57 [2018-12-19 21:32:07,007 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:07,008 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_112|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_112| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_112| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_112| ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_112| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_112| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_112| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_112| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:32:07,008 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:32:07,102 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,103 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,105 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,107 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,108 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,109 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,110 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,111 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,112 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,113 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,114 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:07,115 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:07,116 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 118 [2018-12-19 21:32:07,123 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:07,189 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:07,189 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2018-12-19 21:32:09,214 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:09,214 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_113|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_113| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_113| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_113| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (+ (select |v_#memory_int_113| ULTIMATE.start_main_p4) 1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p5) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:32:09,214 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:32:09,262 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6819#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2018-12-19 21:32:09,264 INFO L273 TraceCheckUtils]: 1: Hoare triple {6819#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6823#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2018-12-19 21:32:09,267 INFO L273 TraceCheckUtils]: 2: Hoare triple {6823#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6827#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:32:09,270 INFO L273 TraceCheckUtils]: 3: Hoare triple {6827#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6831#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:32:09,271 INFO L273 TraceCheckUtils]: 4: Hoare triple {6831#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2018-12-19 21:32:09,272 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:09,272 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:32:09,382 INFO L273 TraceCheckUtils]: 4: Hoare triple {6835#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2018-12-19 21:32:09,383 INFO L273 TraceCheckUtils]: 3: Hoare triple {6839#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6835#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:09,385 INFO L273 TraceCheckUtils]: 2: Hoare triple {6843#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6839#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:09,387 INFO L273 TraceCheckUtils]: 1: Hoare triple {6847#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6843#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:09,389 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6847#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:09,389 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:32:09,408 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:32:09,408 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:32:09,409 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:32:09,409 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:32:09,409 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:32:09,409 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:32:09,427 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:09,427 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:32:09,427 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:32:09,427 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:32:09,427 INFO L87 Difference]: Start difference. First operand 102 states and 589 transitions. Second operand 10 states. [2018-12-19 21:32:15,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:15,746 INFO L93 Difference]: Finished difference Result 149 states and 665 transitions. [2018-12-19 21:32:15,746 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:32:15,746 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:32:15,746 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:15,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:15,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2018-12-19 21:32:15,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:15,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2018-12-19 21:32:15,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 96 transitions. [2018-12-19 21:32:15,926 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:15,930 INFO L225 Difference]: With dead ends: 149 [2018-12-19 21:32:15,930 INFO L226 Difference]: Without dead ends: 145 [2018-12-19 21:32:15,931 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:32:15,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 145 states. [2018-12-19 21:32:16,599 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 145 to 105. [2018-12-19 21:32:16,599 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:16,599 INFO L82 GeneralOperation]: Start isEquivalent. First operand 145 states. Second operand 105 states. [2018-12-19 21:32:16,599 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 105 states. [2018-12-19 21:32:16,599 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 105 states. [2018-12-19 21:32:16,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:16,604 INFO L93 Difference]: Finished difference Result 145 states and 658 transitions. [2018-12-19 21:32:16,604 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 658 transitions. [2018-12-19 21:32:16,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:16,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:16,605 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 145 states. [2018-12-19 21:32:16,605 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 145 states. [2018-12-19 21:32:16,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:16,610 INFO L93 Difference]: Finished difference Result 145 states and 658 transitions. [2018-12-19 21:32:16,610 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 658 transitions. [2018-12-19 21:32:16,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:16,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:16,611 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:16,611 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:16,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 105 states. [2018-12-19 21:32:16,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 605 transitions. [2018-12-19 21:32:16,614 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 605 transitions. Word has length 5 [2018-12-19 21:32:16,614 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:16,614 INFO L480 AbstractCegarLoop]: Abstraction has 105 states and 605 transitions. [2018-12-19 21:32:16,615 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:32:16,615 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 605 transitions. [2018-12-19 21:32:16,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:32:16,615 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:16,615 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:32:16,616 INFO L423 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:16,617 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:16,617 INFO L82 PathProgramCache]: Analyzing trace with hash 29186868, now seen corresponding path program 1 times [2018-12-19 21:32:16,617 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:16,618 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:16,618 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:16,618 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:16,618 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:16,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:16,846 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7567#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:32:16,849 INFO L273 TraceCheckUtils]: 1: Hoare triple {7567#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7568#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:32:16,851 INFO L273 TraceCheckUtils]: 2: Hoare triple {7568#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7569#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:32:16,851 INFO L273 TraceCheckUtils]: 3: Hoare triple {7569#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7570#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:32:16,852 INFO L273 TraceCheckUtils]: 4: Hoare triple {7570#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2018-12-19 21:32:16,852 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:16,852 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:16,852 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:16,853 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:32:16,853 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [22], [27] [2018-12-19 21:32:16,855 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:32:16,855 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:32:16,876 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:32:16,877 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:32:16,877 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:16,877 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:32:16,877 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:16,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 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:32:16,888 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:16,888 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:32:16,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:16,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:16,898 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:16,946 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:32:16,953 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:32:16,963 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:16,964 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:16,965 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:32:16,977 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:16,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:16,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:16,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, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:32:16,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:16,999 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,000 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,003 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:32:17,030 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:32:17,033 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,066 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,092 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,112 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,129 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,144 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,186 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,187 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:32:17,240 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,241 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32: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, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:32:17,303 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,304 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,305 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,306 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,307 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:32:17,381 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,382 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,383 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,387 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,388 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:32:17,391 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,409 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,427 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,446 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,487 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:17,487 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 4 variables, input treesize:72, output treesize:71 [2018-12-19 21:32:17,501 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:17,502 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, |v_#valid_27|]. (let ((.cse1 (store |v_#valid_27| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_117| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-19 21:32:17,502 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:32:17,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:17,629 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:17,633 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:17,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:32:17,669 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2018-12-19 21:32:19,676 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:19,676 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_118|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_118| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_118| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_118| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:32:19,676 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:32:19,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:19,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:19,761 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:19,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:19,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:19,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:19,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:19,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, 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:19,772 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:19,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:32:19,810 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:62, output treesize:40 [2018-12-19 21:32:21,923 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:21,923 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_119|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_119| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_119| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_119| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_119| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_119| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_119| ULTIMATE.start_main_p4) 1) 0))) [2018-12-19 21:32:21,923 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:32:21,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,989 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,990 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,991 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,992 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,994 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,995 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,997 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,997 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:21,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:22,000 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:22,007 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:22,047 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:22,048 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:34 [2018-12-19 21:32:22,115 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:22,115 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_120|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_120| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_120| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_120| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_120| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (+ (select |v_#memory_int_120| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_120| ULTIMATE.start_main_p3)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:32:22,115 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-19 21:32:22,150 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7574#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:32:22,152 INFO L273 TraceCheckUtils]: 1: Hoare triple {7574#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7578#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:32:22,154 INFO L273 TraceCheckUtils]: 2: Hoare triple {7578#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7582#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:32:22,156 INFO L273 TraceCheckUtils]: 3: Hoare triple {7582#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7586#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:32:22,158 INFO L273 TraceCheckUtils]: 4: Hoare triple {7586#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2018-12-19 21:32:22,159 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:22,159 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:32:22,237 INFO L273 TraceCheckUtils]: 4: Hoare triple {7590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2018-12-19 21:32:22,238 INFO L273 TraceCheckUtils]: 3: Hoare triple {7594#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:22,239 INFO L273 TraceCheckUtils]: 2: Hoare triple {7598#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7594#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:22,242 INFO L273 TraceCheckUtils]: 1: Hoare triple {7602#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7598#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:22,244 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7602#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:22,244 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:32:22,264 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:32:22,265 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:32:22,265 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:32:22,265 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:32:22,265 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:32:22,265 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:32:22,282 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:22,282 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:32:22,283 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:32:22,283 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:32:22,283 INFO L87 Difference]: Start difference. First operand 105 states and 605 transitions. Second operand 10 states. [2018-12-19 21:32:26,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:26,721 INFO L93 Difference]: Finished difference Result 138 states and 662 transitions. [2018-12-19 21:32:26,721 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:32:26,721 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:32:26,721 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:26,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:26,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:32:26,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:26,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:32:26,722 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2018-12-19 21:32:26,846 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:32:26,849 INFO L225 Difference]: With dead ends: 138 [2018-12-19 21:32:26,849 INFO L226 Difference]: Without dead ends: 136 [2018-12-19 21:32:26,850 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:32:26,850 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2018-12-19 21:32:28,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 104. [2018-12-19 21:32:28,002 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:28,003 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand 104 states. [2018-12-19 21:32:28,003 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 104 states. [2018-12-19 21:32:28,003 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 104 states. [2018-12-19 21:32:28,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:28,007 INFO L93 Difference]: Finished difference Result 136 states and 657 transitions. [2018-12-19 21:32:28,007 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 657 transitions. [2018-12-19 21:32:28,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:28,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:28,008 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 136 states. [2018-12-19 21:32:28,008 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 136 states. [2018-12-19 21:32:28,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:28,011 INFO L93 Difference]: Finished difference Result 136 states and 657 transitions. [2018-12-19 21:32:28,011 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 657 transitions. [2018-12-19 21:32:28,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:28,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:28,012 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:28,012 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:28,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 104 states. [2018-12-19 21:32:28,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 598 transitions. [2018-12-19 21:32:28,015 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 598 transitions. Word has length 5 [2018-12-19 21:32:28,015 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:28,015 INFO L480 AbstractCegarLoop]: Abstraction has 104 states and 598 transitions. [2018-12-19 21:32:28,015 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:32:28,015 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 598 transitions. [2018-12-19 21:32:28,015 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:32:28,015 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:28,016 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:32:28,016 INFO L423 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:28,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:28,016 INFO L82 PathProgramCache]: Analyzing trace with hash 29188666, now seen corresponding path program 1 times [2018-12-19 21:32:28,016 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:28,017 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:28,017 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:28,017 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:28,017 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:28,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:28,150 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8294#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:32:28,152 INFO L273 TraceCheckUtils]: 1: Hoare triple {8294#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8295#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:32:28,153 INFO L273 TraceCheckUtils]: 2: Hoare triple {8295#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8296#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:32:28,153 INFO L273 TraceCheckUtils]: 3: Hoare triple {8296#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:28,154 INFO L273 TraceCheckUtils]: 4: Hoare triple {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2018-12-19 21:32:28,154 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:28,155 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:28,155 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:28,155 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:32:28,155 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [27] [2018-12-19 21:32:28,156 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:32:28,156 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:32:28,168 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:32:28,168 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:32:28,169 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:28,169 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:32:28,169 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:28,169 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:32:28,178 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:28,178 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:32:28,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:28,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:28,192 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:28,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,266 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:32:28,337 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,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, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:32:28,420 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,421 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,422 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,423 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,424 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:32:28,523 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,524 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,526 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,527 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,528 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,529 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,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, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:32:28,658 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,659 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,660 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,663 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,664 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,666 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:28,667 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:32:28,673 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:28,706 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:28,739 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:28,771 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:28,805 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:28,853 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:32:28,869 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:32:28,890 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:32:28,915 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:32:28,946 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:32:28,982 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:32:28,990 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:29,033 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:29,058 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:29,078 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:29,096 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:29,113 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:29,192 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:29,192 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-19 21:32:29,203 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:29,203 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_124|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_28|]. (let ((.cse3 (store |v_#valid_28| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (select .cse1 ULTIMATE.start_main_p5) 0) (= (store (store (store (store (store (store |v_#memory_int_124| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= 0 (select .cse2 ULTIMATE.start_main_p4)) (= 0 (select .cse3 ULTIMATE.start_main_p2))))))) [2018-12-19 21:32:29,203 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:32:29,313 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:29,314 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:32:29,318 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:29,373 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:29,374 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-19 21:32:31,578 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:31,578 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_125|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_125| ULTIMATE.start_main_p4))) (and (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_125| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (store |v_#memory_int_125| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_125| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:32:31,579 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:32:31,681 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:31,682 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:31,683 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:31,684 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:31,685 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:31,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:31,687 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:31,688 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2018-12-19 21:32:31,691 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:31,749 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:31,749 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2018-12-19 21:32:33,988 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:33,988 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_126|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_126| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_126| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_126| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_126| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_126| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_126| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_126| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:32:33,988 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-19 21:32:34,136 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:34,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:34,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:34,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:34,139 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:34,140 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:34,141 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:34,142 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:34,144 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:34,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:34,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:34,147 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 115 [2018-12-19 21:32:34,152 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:34,233 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:34,234 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:73, output treesize:51 [2018-12-19 21:32:34,358 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:34,358 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_127|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_127| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_127| ULTIMATE.start_main_p6) 1)) (= 0 (select |v_#memory_int_127| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_127| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_127| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_127| ULTIMATE.start_main_p4) 1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_127| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:32:34,358 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:32:34,398 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8301#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:32:34,401 INFO L273 TraceCheckUtils]: 1: Hoare triple {8301#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:32:34,404 INFO L273 TraceCheckUtils]: 2: Hoare triple {8305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8309#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:32:34,409 INFO L273 TraceCheckUtils]: 3: Hoare triple {8309#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:32:34,410 INFO L273 TraceCheckUtils]: 4: Hoare triple {8313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2018-12-19 21:32:34,410 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:34,410 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:32:34,460 INFO L273 TraceCheckUtils]: 4: Hoare triple {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2018-12-19 21:32:34,461 INFO L273 TraceCheckUtils]: 3: Hoare triple {8320#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:34,463 INFO L273 TraceCheckUtils]: 2: Hoare triple {8324#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8320#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:32:34,467 INFO L273 TraceCheckUtils]: 1: Hoare triple {8328#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8324#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:32:34,469 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8328#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:32:34,469 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:32:34,488 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:32:34,488 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:32:34,488 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:32:34,488 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:32:34,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:32:34,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:32:34,507 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:34,508 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:32:34,508 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:32:34,508 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:32:34,508 INFO L87 Difference]: Start difference. First operand 104 states and 598 transitions. Second operand 10 states. [2018-12-19 21:32:36,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:36,887 INFO L93 Difference]: Finished difference Result 152 states and 738 transitions. [2018-12-19 21:32:36,887 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:32:36,887 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:32:36,887 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:36,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:36,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-19 21:32:36,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:36,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-19 21:32:36,888 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2018-12-19 21:32:37,042 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:32:37,046 INFO L225 Difference]: With dead ends: 152 [2018-12-19 21:32:37,046 INFO L226 Difference]: Without dead ends: 151 [2018-12-19 21:32:37,047 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2018-12-19 21:32:37,047 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2018-12-19 21:32:37,958 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 106. [2018-12-19 21:32:37,958 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:37,959 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand 106 states. [2018-12-19 21:32:37,959 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand 106 states. [2018-12-19 21:32:37,959 INFO L87 Difference]: Start difference. First operand 151 states. Second operand 106 states. [2018-12-19 21:32:37,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:37,964 INFO L93 Difference]: Finished difference Result 151 states and 734 transitions. [2018-12-19 21:32:37,964 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 734 transitions. [2018-12-19 21:32:37,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:37,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:37,964 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 151 states. [2018-12-19 21:32:37,964 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 151 states. [2018-12-19 21:32:37,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:37,969 INFO L93 Difference]: Finished difference Result 151 states and 734 transitions. [2018-12-19 21:32:37,969 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 734 transitions. [2018-12-19 21:32:37,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:37,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:37,970 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:37,970 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:37,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 106 states. [2018-12-19 21:32:37,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 612 transitions. [2018-12-19 21:32:37,974 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 612 transitions. Word has length 5 [2018-12-19 21:32:37,974 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:37,974 INFO L480 AbstractCegarLoop]: Abstraction has 106 states and 612 transitions. [2018-12-19 21:32:37,974 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:32:37,974 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 612 transitions. [2018-12-19 21:32:37,975 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:32:37,975 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:37,975 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:32:37,975 INFO L423 AbstractCegarLoop]: === Iteration 23 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:37,975 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:37,975 INFO L82 PathProgramCache]: Analyzing trace with hash 29188790, now seen corresponding path program 1 times [2018-12-19 21:32:37,975 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:37,976 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:37,976 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:37,976 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:37,976 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:37,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:38,230 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9076#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:32:38,232 INFO L273 TraceCheckUtils]: 1: Hoare triple {9076#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9077#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:32:38,233 INFO L273 TraceCheckUtils]: 2: Hoare triple {9077#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9078#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:32:38,234 INFO L273 TraceCheckUtils]: 3: Hoare triple {9078#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9079#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:32:38,235 INFO L273 TraceCheckUtils]: 4: Hoare triple {9079#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2018-12-19 21:32:38,236 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:38,236 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:38,236 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:38,236 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:32:38,236 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [24], [27] [2018-12-19 21:32:38,238 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:32:38,238 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:32:38,248 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:32:38,248 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:32:38,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:38,248 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:32:38,249 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:38,249 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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:32:38,258 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:38,258 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:32:38,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:38,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:38,275 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:38,343 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,344 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:32:38,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,414 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,415 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:32:38,495 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,497 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,501 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:32:38,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,618 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,623 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:32:38,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,746 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,747 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,748 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,750 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:38,755 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:32:38,773 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:38,830 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:38,868 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:38,906 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:38,945 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:38,997 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:32:39,012 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:32:39,030 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:32:39,053 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:32:39,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, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:32:39,112 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:32:39,125 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:39,168 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:39,193 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:39,213 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:39,229 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:39,245 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:39,302 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:39,302 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2018-12-19 21:32:39,313 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:39,313 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_131|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_29|]. (let ((.cse1 (store |v_#valid_29| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse2 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_131| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= (select .cse2 ULTIMATE.start_main_p5) 0) (= (select (store .cse2 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0) (= 0 (select .cse3 ULTIMATE.start_main_p4))))))) [2018-12-19 21:32:39,314 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:32:39,477 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:39,478 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:32:39,484 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:39,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:32:39,540 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-19 21:32:41,213 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:41,213 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_132|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_132| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_132| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_132| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p6) 0) (= (select |v_#memory_int_132| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:32:41,213 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:32:41,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,341 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,343 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,344 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,345 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,346 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:41,347 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2018-12-19 21:32:41,354 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:41,412 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:41,413 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:59 [2018-12-19 21:32:41,426 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:41,426 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_133|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_133| ULTIMATE.start_main_p6))) (and (= 0 (+ (select |v_#memory_int_133| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_133| ULTIMATE.start_main_p3)) (= 0 .cse0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_133| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_133| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_133| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_133| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:32:41,426 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-19 21:32:41,537 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,539 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,540 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,541 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,542 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,544 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,545 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,547 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:41,548 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:41,549 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 108 [2018-12-19 21:32:41,557 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:41,702 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:41,702 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:73, output treesize:57 [2018-12-19 21:32:42,429 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:42,429 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_134|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6]. (let ((.cse0 (select |v_#memory_int_134| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |v_#memory_int_134| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_134| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_134| ULTIMATE.start_main_p6) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:32:42,429 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:32:42,490 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9083#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:32:42,493 INFO L273 TraceCheckUtils]: 1: Hoare triple {9083#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9087#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:32:42,496 INFO L273 TraceCheckUtils]: 2: Hoare triple {9087#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9091#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:32:42,501 INFO L273 TraceCheckUtils]: 3: Hoare triple {9091#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9095#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:32:42,502 INFO L273 TraceCheckUtils]: 4: Hoare triple {9095#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2018-12-19 21:32:42,502 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:42,503 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:32:42,590 INFO L273 TraceCheckUtils]: 4: Hoare triple {9099#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2018-12-19 21:32:42,591 INFO L273 TraceCheckUtils]: 3: Hoare triple {9103#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9099#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:42,593 INFO L273 TraceCheckUtils]: 2: Hoare triple {9107#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9103#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:42,595 INFO L273 TraceCheckUtils]: 1: Hoare triple {9111#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9107#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:42,598 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9111#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:42,598 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:42,619 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:32:42,619 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:32:42,619 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:32:42,620 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:32:42,620 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:32:42,620 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:32:42,638 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:42,638 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:32:42,638 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:32:42,639 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:32:42,639 INFO L87 Difference]: Start difference. First operand 106 states and 612 transitions. Second operand 10 states. [2018-12-19 21:32:47,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:47,598 INFO L93 Difference]: Finished difference Result 141 states and 665 transitions. [2018-12-19 21:32:47,598 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:32:47,598 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:32:47,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:47,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:47,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:32:47,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:47,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:32:47,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2018-12-19 21:32:47,759 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:32:47,762 INFO L225 Difference]: With dead ends: 141 [2018-12-19 21:32:47,762 INFO L226 Difference]: Without dead ends: 140 [2018-12-19 21:32:47,763 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-19 21:32:47,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2018-12-19 21:32:48,713 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 107. [2018-12-19 21:32:48,713 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:48,713 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand 107 states. [2018-12-19 21:32:48,713 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 107 states. [2018-12-19 21:32:48,714 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 107 states. [2018-12-19 21:32:48,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:48,719 INFO L93 Difference]: Finished difference Result 140 states and 663 transitions. [2018-12-19 21:32:48,719 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 663 transitions. [2018-12-19 21:32:48,719 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:48,719 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:48,719 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 140 states. [2018-12-19 21:32:48,720 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 140 states. [2018-12-19 21:32:48,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:48,724 INFO L93 Difference]: Finished difference Result 140 states and 663 transitions. [2018-12-19 21:32:48,724 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 663 transitions. [2018-12-19 21:32:48,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:48,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:48,724 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:48,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:48,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-12-19 21:32:48,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 619 transitions. [2018-12-19 21:32:48,727 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 619 transitions. Word has length 5 [2018-12-19 21:32:48,727 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:48,727 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 619 transitions. [2018-12-19 21:32:48,727 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:32:48,728 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 619 transitions. [2018-12-19 21:32:48,728 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:32:48,728 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:48,728 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:32:48,728 INFO L423 AbstractCegarLoop]: === Iteration 24 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:48,729 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:48,729 INFO L82 PathProgramCache]: Analyzing trace with hash 29175212, now seen corresponding path program 1 times [2018-12-19 21:32:48,729 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:48,729 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:48,729 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:48,729 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:48,730 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:48,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:49,240 WARN L181 SmtUtils]: Spent 324.00 ms on a formula simplification. DAG size of input: 21 DAG size of output: 16 [2018-12-19 21:32:49,928 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9820#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:32:49,929 INFO L273 TraceCheckUtils]: 1: Hoare triple {9820#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9821#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:32:49,929 INFO L273 TraceCheckUtils]: 2: Hoare triple {9821#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9822#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:32:49,930 INFO L273 TraceCheckUtils]: 3: Hoare triple {9822#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:49,930 INFO L273 TraceCheckUtils]: 4: Hoare triple {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2018-12-19 21:32:49,931 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:49,931 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:49,931 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:49,931 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:32:49,931 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [27] [2018-12-19 21:32:49,933 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:32:49,933 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:32:49,942 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:32:49,943 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:32:49,943 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:49,943 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:32:49,943 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:49,943 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:32:49,953 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:49,953 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:32:49,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:49,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:49,963 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:50,013 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:32:50,022 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:32:50,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,033 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:32:50,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,051 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:32:50,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,072 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,076 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:32:50,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, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:32:50,110 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:50,145 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:50,174 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:50,196 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:50,214 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:50,229 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:50,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,265 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:32:50,322 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,323 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,324 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:32:50,388 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,389 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,390 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,391 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,392 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:32:50,472 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,473 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,474 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,475 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,476 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,478 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,478 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:32:50,482 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:50,502 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:50,520 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:50,539 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:50,582 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:50,582 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:32:50,599 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:50,599 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_138|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_30|]. (let ((.cse1 (store |v_#valid_30| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (store (store (store (store (store (store |v_#memory_int_138| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0))))) [2018-12-19 21:32:50,599 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:32:50,725 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:50,726 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:50,732 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:50,771 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:50,772 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:32:52,793 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:52,794 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_139|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_139| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_139| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_139| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_139| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_139| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_139| ULTIMATE.start_main_p2) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:32:52,794 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:32:52,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:52,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:52,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:52,892 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:52,893 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:52,894 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:52,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 38 treesize of output 81 [2018-12-19 21:32:52,910 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:52,953 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:52,953 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:42 [2018-12-19 21:32:52,973 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:52,974 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_140|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_140| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_140| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_140| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:32:52,974 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:32:53,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:53,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:53,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:53,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:53,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:53,063 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:53,064 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:53,065 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:53,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:53,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 40 treesize of output 90 [2018-12-19 21:32:53,074 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:53,117 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:53,117 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:56, output treesize:38 [2018-12-19 21:32:53,131 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:53,131 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_141|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_141| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_141| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_141| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_141| ULTIMATE.start_main_p2) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_141| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_141| ULTIMATE.start_main_p5) 0))) [2018-12-19 21:32:53,131 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:32:53,165 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:32:53,168 INFO L273 TraceCheckUtils]: 1: Hoare triple {9827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:32:53,170 INFO L273 TraceCheckUtils]: 2: Hoare triple {9831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9835#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:32:53,172 INFO L273 TraceCheckUtils]: 3: Hoare triple {9835#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-19 21:32:53,173 INFO L273 TraceCheckUtils]: 4: Hoare triple {9839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2018-12-19 21:32:53,174 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:53,174 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:32:53,232 INFO L273 TraceCheckUtils]: 4: Hoare triple {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2018-12-19 21:32:53,233 INFO L273 TraceCheckUtils]: 3: Hoare triple {9846#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:53,234 INFO L273 TraceCheckUtils]: 2: Hoare triple {9850#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9846#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:32:53,235 INFO L273 TraceCheckUtils]: 1: Hoare triple {9854#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9850#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:32:53,238 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9854#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:32:53,238 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:32:53,257 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:32:53,257 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:32:53,258 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:32:53,258 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:32:53,258 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:32:53,258 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:32:53,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:32:53,273 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:32:53,273 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:32:53,273 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:32:53,273 INFO L87 Difference]: Start difference. First operand 107 states and 619 transitions. Second operand 10 states. [2018-12-19 21:32:56,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:56,348 INFO L93 Difference]: Finished difference Result 163 states and 816 transitions. [2018-12-19 21:32:56,348 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:32:56,348 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:32:56,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:56,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:56,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-19 21:32:56,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:56,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-19 21:32:56,350 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2018-12-19 21:32:56,484 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:32:56,487 INFO L225 Difference]: With dead ends: 163 [2018-12-19 21:32:56,487 INFO L226 Difference]: Without dead ends: 162 [2018-12-19 21:32:56,488 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2018-12-19 21:32:56,488 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2018-12-19 21:32:57,325 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 116. [2018-12-19 21:32:57,325 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:57,326 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand 116 states. [2018-12-19 21:32:57,326 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 116 states. [2018-12-19 21:32:57,326 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 116 states. [2018-12-19 21:32:57,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:57,332 INFO L93 Difference]: Finished difference Result 162 states and 811 transitions. [2018-12-19 21:32:57,332 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 811 transitions. [2018-12-19 21:32:57,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:57,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:57,332 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 162 states. [2018-12-19 21:32:57,332 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 162 states. [2018-12-19 21:32:57,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:57,337 INFO L93 Difference]: Finished difference Result 162 states and 811 transitions. [2018-12-19 21:32:57,338 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 811 transitions. [2018-12-19 21:32:57,338 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:57,338 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:57,338 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:57,338 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:57,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 116 states. [2018-12-19 21:32:57,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 682 transitions. [2018-12-19 21:32:57,343 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 682 transitions. Word has length 5 [2018-12-19 21:32:57,343 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:57,343 INFO L480 AbstractCegarLoop]: Abstraction has 116 states and 682 transitions. [2018-12-19 21:32:57,343 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:32:57,343 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 682 transitions. [2018-12-19 21:32:57,343 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:32:57,343 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:57,343 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:32:57,344 INFO L423 AbstractCegarLoop]: === Iteration 25 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:57,344 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:57,344 INFO L82 PathProgramCache]: Analyzing trace with hash 29179614, now seen corresponding path program 1 times [2018-12-19 21:32:57,344 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:57,344 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:57,344 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:57,345 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:57,345 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:57,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:57,565 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10666#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:32:57,566 INFO L273 TraceCheckUtils]: 1: Hoare triple {10666#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10667#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:32:57,567 INFO L273 TraceCheckUtils]: 2: Hoare triple {10667#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10668#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:32:57,568 INFO L273 TraceCheckUtils]: 3: Hoare triple {10668#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10669#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:32:57,569 INFO L273 TraceCheckUtils]: 4: Hoare triple {10669#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2018-12-19 21:32:57,569 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:32:57,569 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:57,570 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:57,570 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:32:57,570 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [27] [2018-12-19 21:32:57,571 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:32:57,571 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:32:57,617 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:32:57,617 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:32:57,617 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:57,617 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:32:57,618 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:57,618 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:32:57,629 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:57,629 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:32:57,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:57,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:57,638 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:57,697 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,699 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:32:57,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,765 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:32:57,836 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,840 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,840 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:32:57,928 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,930 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,931 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,932 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,933 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,934 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:57,935 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:32:58,043 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:58,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:58,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:58,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:58,048 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:58,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:58,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:58,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:58,053 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:32:58,056 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,088 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,119 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,150 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,182 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,225 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:32:58,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, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:32:58,253 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:32:58,273 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:32:58,296 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:32:58,324 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:32:58,329 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,371 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,395 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,414 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,430 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,444 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,500 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:58,501 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2018-12-19 21:32:58,524 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:58,524 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_145|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, |v_#valid_31|]. (let ((.cse2 (store |v_#valid_31| ULTIMATE.start_main_p1 1))) (let ((.cse3 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p5)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_145| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse2 ULTIMATE.start_main_p2) 0) (= 0 (select .cse3 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0)))))) [2018-12-19 21:32:58,524 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:32:58,664 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:58,665 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-19 21:32:58,671 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:58,726 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:58,727 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-19 21:33:00,736 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:00,736 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_146|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_146| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_146| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_146| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_146| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-19 21:33:00,736 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:33:00,855 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:00,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:00,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:00,859 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:00,860 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:00,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:00,862 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:00,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:00,864 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 113 [2018-12-19 21:33:00,869 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:00,930 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:00,930 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:57 [2018-12-19 21:33:02,957 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:02,957 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_147|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_147| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_147| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_147| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= .cse0 0) (= (store |v_#memory_int_147| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:33:02,957 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:33:03,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,056 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,061 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,061 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:33:03,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:03,063 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 122 [2018-12-19 21:33:03,069 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:03,132 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:33:03,132 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2018-12-19 21:33:05,141 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:05,141 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_148|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_148| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_148| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_148| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_148| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_148| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |v_#memory_int_148| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (= (select |v_#memory_int_148| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:33:05,141 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-19 21:33:05,190 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10673#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:33:05,193 INFO L273 TraceCheckUtils]: 1: Hoare triple {10673#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10677#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:33:05,195 INFO L273 TraceCheckUtils]: 2: Hoare triple {10677#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10681#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:33:05,198 INFO L273 TraceCheckUtils]: 3: Hoare triple {10681#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10685#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-19 21:33:05,199 INFO L273 TraceCheckUtils]: 4: Hoare triple {10685#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2018-12-19 21:33:05,200 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:05,200 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:33:05,369 INFO L273 TraceCheckUtils]: 4: Hoare triple {10689#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2018-12-19 21:33:05,370 INFO L273 TraceCheckUtils]: 3: Hoare triple {10693#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10689#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:05,371 INFO L273 TraceCheckUtils]: 2: Hoare triple {10697#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10693#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:05,374 INFO L273 TraceCheckUtils]: 1: Hoare triple {10701#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10697#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:05,376 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10701#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:05,376 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:05,394 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:33:05,394 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:33:05,394 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:33:05,394 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:33:05,394 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:33:05,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:33:05,413 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:33:05,414 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:33:05,414 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:33:05,414 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:33:05,414 INFO L87 Difference]: Start difference. First operand 116 states and 682 transitions. Second operand 10 states. [2018-12-19 21:33:08,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:08,431 INFO L93 Difference]: Finished difference Result 163 states and 796 transitions. [2018-12-19 21:33:08,431 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:33:08,431 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:33:08,432 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:33:08,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:33:08,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2018-12-19 21:33:08,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:33:08,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2018-12-19 21:33:08,433 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 80 transitions. [2018-12-19 21:33:08,570 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:33:08,573 INFO L225 Difference]: With dead ends: 163 [2018-12-19 21:33:08,573 INFO L226 Difference]: Without dead ends: 160 [2018-12-19 21:33:08,573 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:33:08,574 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2018-12-19 21:33:09,476 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 122. [2018-12-19 21:33:09,476 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:33:09,477 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand 122 states. [2018-12-19 21:33:09,477 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand 122 states. [2018-12-19 21:33:09,477 INFO L87 Difference]: Start difference. First operand 160 states. Second operand 122 states. [2018-12-19 21:33:09,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:09,481 INFO L93 Difference]: Finished difference Result 160 states and 791 transitions. [2018-12-19 21:33:09,482 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 791 transitions. [2018-12-19 21:33:09,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:09,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:09,482 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 160 states. [2018-12-19 21:33:09,482 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 160 states. [2018-12-19 21:33:09,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:09,487 INFO L93 Difference]: Finished difference Result 160 states and 791 transitions. [2018-12-19 21:33:09,487 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 791 transitions. [2018-12-19 21:33:09,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:09,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:09,487 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:33:09,488 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:33:09,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 122 states. [2018-12-19 21:33:09,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 724 transitions. [2018-12-19 21:33:09,492 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 724 transitions. Word has length 5 [2018-12-19 21:33:09,492 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:33:09,492 INFO L480 AbstractCegarLoop]: Abstraction has 122 states and 724 transitions. [2018-12-19 21:33:09,492 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:33:09,492 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 724 transitions. [2018-12-19 21:33:09,493 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:33:09,493 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:33:09,493 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:33:09,493 INFO L423 AbstractCegarLoop]: === Iteration 26 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:33:09,493 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:09,493 INFO L82 PathProgramCache]: Analyzing trace with hash 29179180, now seen corresponding path program 1 times [2018-12-19 21:33:09,494 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:33:09,494 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:09,494 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:33:09,494 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:09,494 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:33:09,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:09,698 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11520#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:33:09,699 INFO L273 TraceCheckUtils]: 1: Hoare triple {11520#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11521#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:33:09,700 INFO L273 TraceCheckUtils]: 2: Hoare triple {11521#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11522#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:33:09,701 INFO L273 TraceCheckUtils]: 3: Hoare triple {11522#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11523#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:33:09,702 INFO L273 TraceCheckUtils]: 4: Hoare triple {11523#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2018-12-19 21:33:09,702 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:09,703 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:09,703 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:33:09,703 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:33:09,703 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [27] [2018-12-19 21:33:09,704 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:33:09,704 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:33:09,713 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:33:09,713 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-19 21:33:09,714 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:09,714 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:33:09,714 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:09,714 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:33:09,722 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:33:09,722 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:33:09,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:09,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:09,758 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:33:09,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:09,976 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:33:10,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,032 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:33:10,092 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,096 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,097 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:33:10,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,179 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:33:10,185 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:10,203 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:10,222 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:10,242 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:10,271 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:33:10,282 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:33:10,295 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:33:10,312 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:33:10,336 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:33:10,362 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:33:10,366 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:10,397 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:10,420 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:10,439 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:10,454 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:10,468 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:10,506 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-19 21:33:10,507 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 4 variables, input treesize:72, output treesize:71 [2018-12-19 21:33:10,516 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:10,516 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_152|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_32|]. (let ((.cse1 (store |v_#valid_32| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_152| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-19 21:33:10,516 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:33:10,648 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:10,649 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:10,654 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:10,689 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:10,689 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2018-12-19 21:33:13,150 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:13,151 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_153|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_153| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_153| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_153| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_153| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_153| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_153| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:33:13,151 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:33:13,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:13,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:13,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:13,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:13,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:13,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:13,301 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:13,302 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2018-12-19 21:33:13,307 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:13,347 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:13,347 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:62, output treesize:40 [2018-12-19 21:33:15,978 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:15,978 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_154|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_154| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_154| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_154| ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_154| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_154| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_154| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:33:15,978 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) [2018-12-19 21:33:16,163 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:16,164 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:16,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:16,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:16,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:16,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:16,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:16,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:16,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:16,174 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:33:16,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:16,176 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:16,182 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:16,224 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:16,224 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:34 [2018-12-19 21:33:16,257 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:16,257 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_155|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_155| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_155| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_155| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_155| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |v_#memory_int_155| ULTIMATE.start_main_p4) 1)) (= 1 (select |v_#memory_int_155| ULTIMATE.start_main_p3)) (= .cse0 0))) [2018-12-19 21:33:16,257 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-19 21:33:16,293 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11527#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:33:16,296 INFO L273 TraceCheckUtils]: 1: Hoare triple {11527#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11531#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:33:16,298 INFO L273 TraceCheckUtils]: 2: Hoare triple {11531#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11535#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:33:16,300 INFO L273 TraceCheckUtils]: 3: Hoare triple {11535#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11539#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-19 21:33:16,301 INFO L273 TraceCheckUtils]: 4: Hoare triple {11539#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2018-12-19 21:33:16,302 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:16,302 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:33:16,381 INFO L273 TraceCheckUtils]: 4: Hoare triple {11543#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2018-12-19 21:33:16,382 INFO L273 TraceCheckUtils]: 3: Hoare triple {11547#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11543#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:16,383 INFO L273 TraceCheckUtils]: 2: Hoare triple {11551#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11547#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:16,385 INFO L273 TraceCheckUtils]: 1: Hoare triple {11555#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11551#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:16,388 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11555#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:16,388 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:16,407 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:33:16,407 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:33:16,407 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:33:16,407 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:33:16,407 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:33:16,407 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:33:16,425 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:33:16,426 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:33:16,426 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:33:16,426 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:33:16,427 INFO L87 Difference]: Start difference. First operand 122 states and 724 transitions. Second operand 10 states. [2018-12-19 21:33:21,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:21,317 INFO L93 Difference]: Finished difference Result 165 states and 829 transitions. [2018-12-19 21:33:21,317 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:33:21,317 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:33:21,317 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:33:21,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:33:21,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:33:21,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:33:21,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-19 21:33:21,318 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2018-12-19 21:33:21,436 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:33:21,440 INFO L225 Difference]: With dead ends: 165 [2018-12-19 21:33:21,440 INFO L226 Difference]: Without dead ends: 163 [2018-12-19 21:33:21,440 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:33:21,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2018-12-19 21:33:22,785 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 125. [2018-12-19 21:33:22,786 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:33:22,786 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand 125 states. [2018-12-19 21:33:22,786 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 125 states. [2018-12-19 21:33:22,786 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 125 states. [2018-12-19 21:33:22,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:22,792 INFO L93 Difference]: Finished difference Result 163 states and 824 transitions. [2018-12-19 21:33:22,792 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 824 transitions. [2018-12-19 21:33:22,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:22,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:22,793 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand 163 states. [2018-12-19 21:33:22,793 INFO L87 Difference]: Start difference. First operand 125 states. Second operand 163 states. [2018-12-19 21:33:22,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:22,798 INFO L93 Difference]: Finished difference Result 163 states and 824 transitions. [2018-12-19 21:33:22,798 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 824 transitions. [2018-12-19 21:33:22,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:22,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:22,798 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:33:22,798 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:33:22,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 125 states. [2018-12-19 21:33:22,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 745 transitions. [2018-12-19 21:33:22,802 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 745 transitions. Word has length 5 [2018-12-19 21:33:22,802 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:33:22,802 INFO L480 AbstractCegarLoop]: Abstraction has 125 states and 745 transitions. [2018-12-19 21:33:22,802 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:33:22,802 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 745 transitions. [2018-12-19 21:33:22,803 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:33:22,803 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:33:22,803 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:33:22,803 INFO L423 AbstractCegarLoop]: === Iteration 27 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:33:22,803 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:22,804 INFO L82 PathProgramCache]: Analyzing trace with hash 28829936, now seen corresponding path program 1 times [2018-12-19 21:33:22,804 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:33:22,804 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:22,805 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:33:22,805 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:22,805 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:33:22,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:23,190 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:33:23,193 INFO L273 TraceCheckUtils]: 1: Hoare triple {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:33:23,194 INFO L273 TraceCheckUtils]: 2: Hoare triple {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:23,194 INFO L273 TraceCheckUtils]: 3: Hoare triple {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:23,195 INFO L273 TraceCheckUtils]: 4: Hoare triple {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2018-12-19 21:33:23,195 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:33:23,196 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:23,196 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:33:23,196 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:33:23,196 INFO L207 CegarAbsIntRunner]: [0], [6], [22], [28], [29] [2018-12-19 21:33:23,197 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:33:23,197 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:33:23,206 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:33:23,206 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:33:23,206 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:23,206 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:33:23,207 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:23,207 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:33:23,214 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:33:23,215 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:33:23,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:23,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:23,224 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:33:23,269 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:33:23,276 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:33:23,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,287 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,288 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:33:23,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,301 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,302 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:33:23,323 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,324 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,326 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,327 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,328 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:33:23,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, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:33:23,359 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:23,393 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:23,419 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:23,440 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:23,457 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:23,472 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:23,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,507 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:33:23,559 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,560 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,560 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:33:23,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,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, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:33:23,698 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,699 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,700 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,701 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,702 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,703 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,704 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:33:23,711 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:23,729 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:23,747 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:23,766 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:23,812 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:33:23,812 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:33:23,824 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:23,824 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_159|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, |v_#valid_33|]. (let ((.cse2 (store |v_#valid_33| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p4) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= (store (store (store (store (store (store |v_#memory_int_159| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0))))) [2018-12-19 21:33:23,824 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:33:23,931 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:23,932 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:33:23,936 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:23,979 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:33:23,979 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:33:25,984 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:25,984 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_160|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_160| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_160| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_160| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_160| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_160| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_160| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:33:25,984 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:33:26,065 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:26,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:26,068 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:26,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:26,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:26,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:26,072 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:33:26,073 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:33:26,080 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:26,121 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:26,121 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:42 [2018-12-19 21:33:28,392 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:28,392 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_161|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_161| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_161| ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 1 (select |v_#memory_int_161| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_161| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2018-12-19 21:33:28,393 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:33:28,465 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12398#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:33:28,467 INFO L273 TraceCheckUtils]: 1: Hoare triple {12398#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12402#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:33:28,469 INFO L273 TraceCheckUtils]: 2: Hoare triple {12402#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:33:28,470 INFO L273 TraceCheckUtils]: 3: Hoare triple {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:33:28,471 INFO L273 TraceCheckUtils]: 4: Hoare triple {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2018-12-19 21:33:28,472 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:33:28,472 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:33:28,516 INFO L273 TraceCheckUtils]: 4: Hoare triple {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2018-12-19 21:33:28,516 INFO L273 TraceCheckUtils]: 3: Hoare triple {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:28,517 INFO L273 TraceCheckUtils]: 2: Hoare triple {12420#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:28,519 INFO L273 TraceCheckUtils]: 1: Hoare triple {12424#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12420#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:28,521 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12424#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:28,521 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:33:28,540 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:33:28,540 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 3, 3] total 8 [2018-12-19 21:33:28,540 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:33:28,540 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 5 [2018-12-19 21:33:28,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:33:28,541 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-12-19 21:33:28,555 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:33:28,555 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-12-19 21:33:28,556 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-12-19 21:33:28,556 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=55, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:33:28,556 INFO L87 Difference]: Start difference. First operand 125 states and 745 transitions. Second operand 7 states. [2018-12-19 21:33:30,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:30,638 INFO L93 Difference]: Finished difference Result 158 states and 796 transitions. [2018-12-19 21:33:30,638 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:33:30,638 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 5 [2018-12-19 21:33:30,638 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:33:30,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-12-19 21:33:30,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2018-12-19 21:33:30,639 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-12-19 21:33:30,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2018-12-19 21:33:30,639 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2018-12-19 21:33:30,747 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:33:30,750 INFO L225 Difference]: With dead ends: 158 [2018-12-19 21:33:30,750 INFO L226 Difference]: Without dead ends: 156 [2018-12-19 21:33:30,751 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:33:30,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2018-12-19 21:33:32,686 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 128. [2018-12-19 21:33:32,686 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:33:32,686 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand 128 states. [2018-12-19 21:33:32,687 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 128 states. [2018-12-19 21:33:32,687 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 128 states. [2018-12-19 21:33:32,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:32,691 INFO L93 Difference]: Finished difference Result 156 states and 792 transitions. [2018-12-19 21:33:32,691 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 792 transitions. [2018-12-19 21:33:32,691 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:32,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:32,691 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 156 states. [2018-12-19 21:33:32,691 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 156 states. [2018-12-19 21:33:32,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:32,695 INFO L93 Difference]: Finished difference Result 156 states and 792 transitions. [2018-12-19 21:33:32,696 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 792 transitions. [2018-12-19 21:33:32,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:32,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:32,696 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:33:32,696 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:33:32,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 128 states. [2018-12-19 21:33:32,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 760 transitions. [2018-12-19 21:33:32,699 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 760 transitions. Word has length 5 [2018-12-19 21:33:32,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:33:32,700 INFO L480 AbstractCegarLoop]: Abstraction has 128 states and 760 transitions. [2018-12-19 21:33:32,700 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-12-19 21:33:32,700 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 760 transitions. [2018-12-19 21:33:32,700 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:33:32,700 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:33:32,700 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:33:32,701 INFO L423 AbstractCegarLoop]: === Iteration 28 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:33:32,701 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:32,701 INFO L82 PathProgramCache]: Analyzing trace with hash 28831546, now seen corresponding path program 2 times [2018-12-19 21:33:32,701 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:33:32,701 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:32,702 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:33:32,702 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:32,702 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:33:32,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:32,951 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13240#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:33:32,953 INFO L273 TraceCheckUtils]: 1: Hoare triple {13240#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13241#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (<= 1 (select |#memory_int| ULTIMATE.start_main_p6))) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:33:32,954 INFO L273 TraceCheckUtils]: 2: Hoare triple {13241#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (<= 1 (select |#memory_int| ULTIMATE.start_main_p6))) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:32,955 INFO L273 TraceCheckUtils]: 3: Hoare triple {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:32,956 INFO L273 TraceCheckUtils]: 4: Hoare triple {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2018-12-19 21:33:32,956 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:32,956 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:32,956 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:33:32,957 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:33:32,957 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:32,957 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:32,957 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:33:32,967 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:33:32,967 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:33:32,973 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:33:32,973 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:33:32,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:32,979 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:33:33,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,059 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-19 21:33:33,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,134 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,135 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-19 21:33:33,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,229 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,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, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-19 21:33:33,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,333 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,337 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,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 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-19 21:33:33,479 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,481 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,483 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,484 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,487 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,488 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:33,489 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-19 21:33:33,492 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,522 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,552 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,583 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,614 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,656 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:33:33,666 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:33:33,679 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:33:33,696 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:33:33,716 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:33:33,747 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-19 21:33:33,750 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,791 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,813 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,831 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,846 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,860 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:33,912 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:33:33,913 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-19 21:33:33,923 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:33,924 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_164|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_34|]. (let ((.cse2 (store |v_#valid_34| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= 0 (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= (select .cse0 ULTIMATE.start_main_p5) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select .cse3 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_164| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|)))))) [2018-12-19 21:33:33,924 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:33:34,044 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:34,045 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-19 21:33:34,049 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:34,109 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:34,109 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-19 21:33:34,119 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:34,119 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_165|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_165| ULTIMATE.start_main_p1))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_165| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:33:34,119 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:33:34,216 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:34,218 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:34,219 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:34,220 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:34,222 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:34,223 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:34,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:34,225 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:34,226 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 111 [2018-12-19 21:33:34,241 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:34,304 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:34,304 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:81, output treesize:55 [2018-12-19 21:33:36,585 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:36,585 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_166|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_166| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_166| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_166| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_166| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_166| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (= (select |v_#memory_int_166| ULTIMATE.start_main_p5) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_166| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-19 21:33:36,585 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:33:36,678 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,679 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,681 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,682 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,683 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,684 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,685 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,689 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,691 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:36,692 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:33:36,693 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 118 [2018-12-19 21:33:36,698 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:36,763 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-19 21:33:36,763 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2018-12-19 21:33:36,823 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:36,824 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_167|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_167| ULTIMATE.start_main_p4))) (and (= 0 (+ (select |v_#memory_int_167| ULTIMATE.start_main_p6) 1)) (= (select |v_#memory_int_167| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_167| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_167| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_167| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_167| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:33:36,824 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:33:36,924 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13247#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:33:36,928 INFO L273 TraceCheckUtils]: 1: Hoare triple {13247#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13251#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:33:36,931 INFO L273 TraceCheckUtils]: 2: Hoare triple {13251#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13255#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:33:36,935 INFO L273 TraceCheckUtils]: 3: Hoare triple {13255#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13259#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:33:36,936 INFO L273 TraceCheckUtils]: 4: Hoare triple {13259#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2018-12-19 21:33:36,936 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:36,937 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:33:36,978 INFO L273 TraceCheckUtils]: 4: Hoare triple {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2018-12-19 21:33:36,979 INFO L273 TraceCheckUtils]: 3: Hoare triple {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:36,980 INFO L273 TraceCheckUtils]: 2: Hoare triple {13269#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:36,982 INFO L273 TraceCheckUtils]: 1: Hoare triple {13273#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13269#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:36,984 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13273#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:33:36,985 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:33:37,003 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:33:37,003 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 10 [2018-12-19 21:33:37,003 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:33:37,004 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:33:37,004 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:33:37,004 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:33:37,023 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:33:37,023 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:33:37,023 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:33:37,023 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=83, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:33:37,024 INFO L87 Difference]: Start difference. First operand 128 states and 760 transitions. Second operand 10 states. [2018-12-19 21:33:40,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:40,188 INFO L93 Difference]: Finished difference Result 241 states and 1191 transitions. [2018-12-19 21:33:40,188 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-12-19 21:33:40,188 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:33:40,188 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:33:40,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:33:40,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 127 transitions. [2018-12-19 21:33:40,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:33:40,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 127 transitions. [2018-12-19 21:33:40,190 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 127 transitions. [2018-12-19 21:33:40,403 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:33:40,408 INFO L225 Difference]: With dead ends: 241 [2018-12-19 21:33:40,408 INFO L226 Difference]: Without dead ends: 235 [2018-12-19 21:33:40,409 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=72, Invalid=138, Unknown=0, NotChecked=0, Total=210 [2018-12-19 21:33:40,409 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2018-12-19 21:33:42,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 164. [2018-12-19 21:33:42,223 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:33:42,223 INFO L82 GeneralOperation]: Start isEquivalent. First operand 235 states. Second operand 164 states. [2018-12-19 21:33:42,223 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand 164 states. [2018-12-19 21:33:42,223 INFO L87 Difference]: Start difference. First operand 235 states. Second operand 164 states. [2018-12-19 21:33:42,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:42,231 INFO L93 Difference]: Finished difference Result 235 states and 1172 transitions. [2018-12-19 21:33:42,231 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 1172 transitions. [2018-12-19 21:33:42,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:42,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:42,232 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 235 states. [2018-12-19 21:33:42,232 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 235 states. [2018-12-19 21:33:42,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:42,239 INFO L93 Difference]: Finished difference Result 235 states and 1172 transitions. [2018-12-19 21:33:42,239 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 1172 transitions. [2018-12-19 21:33:42,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:33:42,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:33:42,240 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:33:42,240 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:33:42,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 164 states. [2018-12-19 21:33:42,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 1007 transitions. [2018-12-19 21:33:42,245 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 1007 transitions. Word has length 5 [2018-12-19 21:33:42,245 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:33:42,245 INFO L480 AbstractCegarLoop]: Abstraction has 164 states and 1007 transitions. [2018-12-19 21:33:42,245 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:33:42,245 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 1007 transitions. [2018-12-19 21:33:42,246 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:33:42,246 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:33:42,246 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:33:42,246 INFO L423 AbstractCegarLoop]: === Iteration 29 === [ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:33:42,246 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:42,246 INFO L82 PathProgramCache]: Analyzing trace with hash 28831858, now seen corresponding path program 1 times [2018-12-19 21:33:42,246 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:33:42,247 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:42,247 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:33:42,247 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:33:42,247 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:33:42,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:42,530 INFO L273 TraceCheckUtils]: 0: Hoare triple {14451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:33:42,531 INFO L273 TraceCheckUtils]: 1: Hoare triple {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:33:42,532 INFO L273 TraceCheckUtils]: 2: Hoare triple {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {14454#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-19 21:33:42,533 INFO L273 TraceCheckUtils]: 3: Hoare triple {14454#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {14455#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:42,534 INFO L273 TraceCheckUtils]: 4: Hoare triple {14455#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14452#false} is VALID [2018-12-19 21:33:42,534 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:33:42,534 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:42,534 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:33:42,535 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:33:42,535 INFO L207 CegarAbsIntRunner]: [0], [6], [24], [28], [29] [2018-12-19 21:33:42,536 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:33:42,536 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:33:42,543 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:33:42,544 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-19 21:33:42,544 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:33:42,544 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:33:42,544 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:33:42,544 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:33:42,557 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:33:42,557 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:33:42,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:42,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:33:42,587 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:33:42,643 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-19 21:33:42,651 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-19 21:33:42,660 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,662 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-19 21:33:42,674 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,675 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,676 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,677 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-19 21:33:42,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,696 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,696 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-19 21:33:42,722 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-19 21:33:42,725 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:42,760 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:42,785 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:42,826 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:42,843 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:42,858 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:42,892 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,893 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-19 21:33:42,945 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,946 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:42,947 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-19 21:33:43,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:43,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:43,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:43,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:43,010 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-19 21:33:43,082 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:43,084 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:43,085 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:43,086 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:43,087 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:43,088 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:43,089 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-19 21:33:43,091 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:43,110 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:43,147 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:43,163 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:33:43,208 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-19 21:33:43,209 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-19 21:33:43,220 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:43,220 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_171|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_35|]. (let ((.cse0 (store |v_#valid_35| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_171| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= (select .cse1 ULTIMATE.start_main_p4) 0))))) [2018-12-19 21:33:43,221 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-19 21:33:43,518 WARN L181 SmtUtils]: Spent 280.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-12-19 21:33:43,871 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:43,881 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 11 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 41 treesize of output 81 [2018-12-19 21:33:43,885 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-19 21:33:44,015 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 7 dim-0 vars, and 2 xjuncts. [2018-12-19 21:33:44,015 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:81, output treesize:106 [2018-12-19 21:33:46,114 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:46,114 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_172|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_172| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_172| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_172| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_172| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:33:46,114 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, v_prenex_6, v_prenex_4, v_prenex_5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p6)) (.cse0 (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= v_prenex_6 v_prenex_4)) (not (= v_prenex_6 v_prenex_5)) (= 0 (select |#memory_int| v_prenex_5)) (not (= ULTIMATE.start_main_p2 v_prenex_5)) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= v_prenex_5 v_prenex_4)) .cse0 (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (= 0 .cse1)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 .cse1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) .cse0 (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) [2018-12-19 21:33:46,367 WARN L181 SmtUtils]: Spent 220.00 ms on a formula simplification that was a NOOP. DAG size: 63 [2018-12-19 21:33:46,443 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,444 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,447 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,448 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,448 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:33:46,449 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 72 [2018-12-19 21:33:46,453 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:33:46,544 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,558 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,559 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,560 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:33:46,593 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 14 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 65 treesize of output 107 [2018-12-19 21:33:46,603 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 16 xjuncts. [2018-12-19 21:33:46,992 INFO L267 ElimStorePlain]: Start of recursive call 1: 9 dim-0 vars, 2 dim-1 vars, End of recursive call: 25 dim-0 vars, and 6 xjuncts. [2018-12-19 21:33:46,993 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 11 variables, input treesize:126, output treesize:280 [2018-12-19 21:33:49,676 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:33:49,677 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_8, v_prenex_7, v_prenex_6, v_prenex_5, v_prenex_4, ULTIMATE.start_main_p1, |v_#memory_int_173|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (or (let ((.cse0 (select v_prenex_8 v_prenex_7))) (and (= 0 .cse0) (= (store v_prenex_8 v_prenex_7 (+ .cse0 (- 1))) |#memory_int|) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (= 0 (select v_prenex_8 ULTIMATE.start_main_p2)) (= 0 (select v_prenex_8 v_prenex_5)) (not (= v_prenex_6 v_prenex_5)) (= 0 (select v_prenex_8 v_prenex_4)) (not (= v_prenex_6 v_prenex_4)) (= 0 (select v_prenex_8 v_prenex_6)) (= 1 (select v_prenex_8 ULTIMATE.start_main_p1)) (not (= v_prenex_5 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_5)))) (let ((.cse1 (select |v_#memory_int_173| ULTIMATE.start_main_p6))) (and (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_173| ULTIMATE.start_main_p6 (+ .cse1 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p2)) (= 1 .cse1) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p3))))) [2018-12-19 21:33:49,677 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_20, v_prenex_21, v_prenex_23, v_prenex_24, v_prenex_22, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, v_prenex_16, v_prenex_17, v_prenex_18, v_prenex_19, ULTIMATE.start_main_p1, v_prenex_6, v_prenex_4, v_prenex_5, v_prenex_15, v_prenex_13, v_prenex_14, v_prenex_7, v_prenex_12, v_prenex_9, v_prenex_10, v_prenex_11]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p2))) (let ((.cse0 (= 0 .cse1))) (or (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) .cse0 (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) (and (= (select |#memory_int| v_prenex_20) 1) (not (= v_prenex_21 v_prenex_23)) (= (select |#memory_int| v_prenex_21) 0) (not (= v_prenex_24 v_prenex_23)) (= (select |#memory_int| v_prenex_23) 0) (= (select |#memory_int| v_prenex_22) (- 1)) .cse0 (not (= v_prenex_21 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_23)) (not (= ULTIMATE.start_main_p2 v_prenex_24)) (not (= v_prenex_21 v_prenex_24)) (= (select |#memory_int| v_prenex_24) 0)) (and (= (select |#memory_int| v_prenex_16) 1) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (= 0 (+ .cse1 1)) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_17 v_prenex_19)) (= (select |#memory_int| v_prenex_19) 0)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) .cse0 (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (= (+ (select |#memory_int| v_prenex_5) 1) 0)) (and (= (select |#memory_int| v_prenex_15) 1) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (= (select |#memory_int| v_prenex_7) (- 1)) .cse0 (not (= ULTIMATE.start_main_p2 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0)) (and (= (select |#memory_int| v_prenex_12) 1) (= (select |#memory_int| v_prenex_9) 0) (= (+ (select |#memory_int| v_prenex_10) 1) 0) .cse0 (not (= v_prenex_9 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_11)) (not (= v_prenex_9 v_prenex_11)) (= (select |#memory_int| v_prenex_11) 0))))) [2018-12-19 21:33:50,316 WARN L181 SmtUtils]: Spent 474.00 ms on a formula simplification. DAG size of input: 171 DAG size of output: 90 [2018-12-19 21:33:50,425 INFO L273 TraceCheckUtils]: 0: Hoare triple {14451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {14459#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-19 21:33:50,428 INFO L273 TraceCheckUtils]: 1: Hoare triple {14459#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14463#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 1 (select |#memory_int| ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_6 Int) (v_prenex_4 Int) (v_prenex_5 Int)) (and (= 0 (select |#memory_int| v_prenex_5)) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (not (= v_prenex_5 v_prenex_4)) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_5)) (not (= v_prenex_6 v_prenex_5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))))} is VALID [2018-12-19 21:33:50,460 INFO L273 TraceCheckUtils]: 2: Hoare triple {14463#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 1 (select |#memory_int| ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_6 Int) (v_prenex_4 Int) (v_prenex_5 Int)) (and (= 0 (select |#memory_int| v_prenex_5)) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (not (= v_prenex_5 v_prenex_4)) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_5)) (not (= v_prenex_6 v_prenex_5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {14467#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_16 Int)) (= (select |#memory_int| v_prenex_16) 1)) (exists ((v_prenex_18 Int) (v_prenex_17 Int) (v_prenex_19 Int)) (and (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_19) 0) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (not (= v_prenex_17 v_prenex_19))))) (and (exists ((v_prenex_15 Int)) (= (select |#memory_int| v_prenex_15) 1)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_13)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_7 Int)) (= (+ (select |#memory_int| v_prenex_7) 1) 0))))} is VALID [2018-12-19 21:33:50,461 INFO L273 TraceCheckUtils]: 3: Hoare triple {14467#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_16 Int)) (= (select |#memory_int| v_prenex_16) 1)) (exists ((v_prenex_18 Int) (v_prenex_17 Int) (v_prenex_19 Int)) (and (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_19) 0) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (not (= v_prenex_17 v_prenex_19))))) (and (exists ((v_prenex_15 Int)) (= (select |#memory_int| v_prenex_15) 1)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_13)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_7 Int)) (= (+ (select |#memory_int| v_prenex_7) 1) 0))))} assume #memory_int[main_p1] >= 0; {14467#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_16 Int)) (= (select |#memory_int| v_prenex_16) 1)) (exists ((v_prenex_18 Int) (v_prenex_17 Int) (v_prenex_19 Int)) (and (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_19) 0) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (not (= v_prenex_17 v_prenex_19))))) (and (exists ((v_prenex_15 Int)) (= (select |#memory_int| v_prenex_15) 1)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_13)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_7 Int)) (= (+ (select |#memory_int| v_prenex_7) 1) 0))))} is VALID [2018-12-19 21:33:50,463 INFO L273 TraceCheckUtils]: 4: Hoare triple {14467#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_16 Int)) (= (select |#memory_int| v_prenex_16) 1)) (exists ((v_prenex_18 Int) (v_prenex_17 Int) (v_prenex_19 Int)) (and (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_19) 0) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (not (= v_prenex_17 v_prenex_19))))) (and (exists ((v_prenex_15 Int)) (= (select |#memory_int| v_prenex_15) 1)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_13)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_7 Int)) (= (+ (select |#memory_int| v_prenex_7) 1) 0))))} assume !(#memory_int[main_p2] <= 0); {14452#false} is VALID [2018-12-19 21:33:50,463 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:33:50,463 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:33:50,518 INFO L273 TraceCheckUtils]: 4: Hoare triple {14474#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14452#false} is VALID [2018-12-19 21:33:50,518 INFO L273 TraceCheckUtils]: 3: Hoare triple {14474#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14474#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:50,520 INFO L273 TraceCheckUtils]: 2: Hoare triple {14481#(<= (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {14474#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:50,521 INFO L273 TraceCheckUtils]: 1: Hoare triple {14485#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14481#(<= (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:50,523 INFO L273 TraceCheckUtils]: 0: Hoare triple {14451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {14485#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:33:50,524 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:33:50,544 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:33:50,544 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:33:50,544 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:33:50,544 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:33:50,544 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:33:50,544 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:33:50,614 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:33:50,614 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:33:50,614 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:33:50,614 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:33:50,614 INFO L87 Difference]: Start difference. First operand 164 states and 1007 transitions. Second operand 8 states. [2018-12-19 21:33:51,200 WARN L181 SmtUtils]: Spent 547.00 ms on a formula simplification. DAG size of input: 52 DAG size of output: 46 [2018-12-19 21:33:51,912 WARN L181 SmtUtils]: Spent 435.00 ms on a formula simplification. DAG size of input: 72 DAG size of output: 70 [2018-12-19 21:33:52,934 WARN L181 SmtUtils]: Spent 170.00 ms on a formula simplification. DAG size of input: 99 DAG size of output: 72 [2018-12-19 21:33:54,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:33:54,997 INFO L93 Difference]: Finished difference Result 208 states and 1150 transitions. [2018-12-19 21:33:54,997 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:33:54,997 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:33:54,998 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:33:54,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:33:54,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2018-12-19 21:33:54,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:33:54,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2018-12-19 21:33:54,999 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 80 transitions. [2018-12-19 21:33:55,348 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2018-12-19 21:33:55,349 FATAL L265 ToolchainWalker]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseCheckSatResult(Executor.java:225) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.checkSat(Scriptor.java:155) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.managedscript.ManagedScript.checkSat(ManagedScript.java:141) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.checkValidity(IncrementalHoareTripleChecker.java:666) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.checkInternal(IncrementalHoareTripleChecker.java:133) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.checkInductivity(InductivityCheck.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.(InductivityCheck.java:75) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.checkEnhancement(BasicCegarLoop.java:848) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.computeAutomataDifference(BasicCegarLoop.java:744) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.refineAbstraction(BasicCegarLoop.java:628) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:472) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1427) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:630) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:419) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:205) ... 27 more [2018-12-19 21:33:55,354 INFO L168 Benchmark]: Toolchain (without parser) took 225011.47 ms. Allocated memory was 1.5 GB in the beginning and 2.5 GB in the end (delta: 985.7 MB). Free memory was 1.5 GB in the beginning and 1.6 GB in the end (delta: -106.5 MB). Peak memory consumption was 879.1 MB. Max. memory is 7.1 GB. [2018-12-19 21:33:55,356 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.23 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-19 21:33:55,356 INFO L168 Benchmark]: Boogie Procedure Inliner took 79.10 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-19 21:33:55,357 INFO L168 Benchmark]: Boogie Preprocessor took 43.74 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-19 21:33:55,357 INFO L168 Benchmark]: RCFGBuilder took 869.14 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. [2018-12-19 21:33:55,357 INFO L168 Benchmark]: TraceAbstraction took 224014.19 ms. Allocated memory was 1.5 GB in the beginning and 2.5 GB in the end (delta: 985.7 MB). Free memory was 1.4 GB in the beginning and 1.6 GB in the end (delta: -138.2 MB). Peak memory consumption was 847.4 MB. Max. memory is 7.1 GB. [2018-12-19 21:33:55,359 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.23 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 79.10 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 43.74 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 869.14 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 224014.19 ms. Allocated memory was 1.5 GB in the beginning and 2.5 GB in the end (delta: 985.7 MB). Free memory was 1.4 GB in the beginning and 1.6 GB in the end (delta: -138.2 MB). Peak memory consumption was 847.4 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...